Python 3.x 读取文本文件而不忽略末尾的空行
Python 3.x read text file without ignoring blank line at the end
我试过读取一个看起来像这样的文本文件:
1号线
3号线
使用以下代码:
with open('textfile.txt', 'r') as f_in:
for line in f_in:
print("~ " + line)
f_in.closed
但是循环只运行了 3 次而不是 4 次,忽略空行。
我得到的输出是:
~ Line 1
~
~ Line 3
我该如何解决?
当使用文件作为迭代器时,行尾用\n
标记。这意味着即使您的编辑器可能在 3
之后显示 "blank line",如果那里没有数据,那里也没有行。
例如,试试这个:
with open('textfile.txt', 'wb') as f_out:
f_out.write(b'1\n\n3\n4')
with open('textfile.txt', 'r') as f_in:
for line in f_in:
print("~ " + line)
通过将字符 4
放在最后一行,即使没有终止换行符,Python 也会识别出另一行。没有那个4
,你只有三行。
我试过读取一个看起来像这样的文本文件:
1号线 3号线
使用以下代码:
with open('textfile.txt', 'r') as f_in:
for line in f_in:
print("~ " + line)
f_in.closed
但是循环只运行了 3 次而不是 4 次,忽略空行。
我得到的输出是:
~ Line 1
~
~ Line 3
我该如何解决?
当使用文件作为迭代器时,行尾用\n
标记。这意味着即使您的编辑器可能在 3
之后显示 "blank line",如果那里没有数据,那里也没有行。
例如,试试这个:
with open('textfile.txt', 'wb') as f_out:
f_out.write(b'1\n\n3\n4')
with open('textfile.txt', 'r') as f_in:
for line in f_in:
print("~ " + line)
通过将字符 4
放在最后一行,即使没有终止换行符,Python 也会识别出另一行。没有那个4
,你只有三行。