Tôi đã đọc một số bài viết cũ hơn về thao tác dòng/danh sách, nhưng không hiểu chính xác cách triển khai tất cả các công cụ mà các bạn đang sử dụng [dòng. strip[] chẳng hạn] để có được những gì tôi cần. Về cơ bản, tôi có một chương trình đang hoạt động lặp qua dữ liệu và xuất nó thành một tệp. Nếu một trong các dòng trong tệp trống, chương trình sẽ gặp sự cố. Tôi muốn biết đoạn mã mẫu nào tôi có thể thêm vào để đảm bảo rằng chương trình tiếp tục lặp lại. Tuyệt vời hơn nữa sẽ là một cách để chương trình cho tôi biết điểm nào trong các dòng trống dữ liệu xuất hiện. Nhưng tôi sẽ rất vui nếu chương trình bỏ qua các dòng trống
Bất kỳ đề xuất?
con trăn
0 0
Chia sẻ
- 3 Cộng tác viên
- 3 Trả lời
- 20 nghìn Lượt xem
- 1 tháng Khoảng thời gian thảo luận
- Bài đăng mới nhất Bài đăng mới nhất bởi tdeck
Câu trả lời được đề xuất
Đã trả lời bởi jlm699 320 trong một
Làm thế nào các bạn sẽ đặt điều đó trong các điều khoản của giáo dân?
tôi sẽ dịch nó sang.
if empty line:
tôi đoán. Đây là một ví dụ, về cơ bản, mã này dựa trên thực tế là Python coi một chuỗi rỗng hoặc''
là Sai, trong khi …
Cả 3 câu trả lời
hughesadam_87 54 Áp phích trẻ Có lẽ tôi có thể làm rõ mối quan tâm của tôi. Lấy mã này, yêu cầu bỏ qua các dòng trống [và hoạt động] mà tôi tìm thấy trực tuyến Mã này nói gì? . dải []" đang thực sự làm. Làm thế nào các bạn sẽ đặt điều đó trong các điều khoản của giáo dân? . dải[]" 0 0 Chia sẻ jlm699 320 Áp phích Cựu chiến binh Làm thế nào các bạn sẽ đặt điều đó trong các điều khoản của giáo dân? tôi sẽ dịch nó sang. Vì vậy, như bạn có thể thấy, dải loại bỏ ký tự dòng mới và bất kỳ khoảng trắng giới hạn nào [tab, dòng mới, dấu cách - ở ngoài cùng bên trái và bên phải của chuỗi] Vì Python coi một dòng trống là Sai, mã này đang chờ một dòng không đánh giá là Sai, trước khi hành động trên nó Bây giờ, ví dụ trên minh họa đánh giá boolean của chuỗi được trả về bởi infile = open["text.txt","r"]
for line in infile:
if not line.strip[]:
continue
else:
print line
if empty line:
tôi đoán. Đây là một ví dụ, về cơ bản, mã này dựa trên thực tế là Python coi một chuỗi rỗng hoặc ''
là Sai, trong khi chuỗi không trống là Đúng. Hãy để tôi chứng minh>>> empty_line = '\n'
>>> text_line = 'Lipsum\n'
>>>
>>> empty_line.strip[]
''
>>> text_line.strip[]
'Lipsum'
>>> bool[ empty_line.strip[] ]
False
>>> bool[ text_line.strip[] ]
True
>>> if '':
.. print 'Empty!'
..
>>> if not '':
.. print 'Empty!'
..
Empty!
>>>
>>> lines = [ 'Not empty\n', '\n', ' Foobar\n' ]
>>> for line in lines:
.. print bool[ line.strip[] ], '=', line.strip[]
..
True = Not empty
False =
True = Foobar
>>> for line in lines:
.. if line.strip[]:
.. print 'Found a line: %s' % line.strip[]
.. else:
.. print 'Empty line!'
..
Found a line: Not empty
Empty line!
Found a line: Foobar
>>> # Now repeat with 'not' to negate the True/False
>>> for line in lines:
.. if not line.strip[]:
.. print 'Empty line!'
.. else:
.. print 'Found a line: %s' % line.strip[]
..
Found a line: Not empty
Empty line!
Found a line: Foobar
>>>
2>>> empty_line = '\n'
>>> text_line = 'Lipsum\n'
>>>
>>> empty_line.strip[]
''
>>> text_line.strip[]
'Lipsum'
>>> bool[ empty_line.strip[] ]
False
>>> bool[ text_line.strip[] ]
True
>>> if '':
.. print 'Empty!'
..
>>> if not '':
.. print 'Empty!'
..
Empty!
>>>
Hy vọng điều đó làm sáng tỏ nó cho bạn
1 0
Chia sẻ
tdeck 7 Áp phích ánh sáng
13 năm trướcDòng gì. dải [] đang làm là xóa khoảng trắng ở cuối chuỗi. Nếu dòng hoàn toàn trống hoặc chỉ có dấu cách và tab, dòng. dải [] sẽ trả về một chuỗi rỗng '' đánh giá là sai. Đây có thể không phải là hành vi bạn muốn. Tất cả phụ thuộc vào việc bạn có muốn một dòng có khoảng trắng trong đó được tính là một dòng trống hay không