Python:逐行解析和打印文本文件

时间:2012-06-19 11:26:27

标签: python python-3.x

我有以下问题。如何逐行打印输出文件。我能想到的一个简单例子如下。有什么想法吗?

import codecs
output=codecs.open('output.txt','w', encoding='UTF-8')
for i in range(5):
   output.writelines(str(i)+'\n')
output.close()

我导入codecs因为输入可能是其他内容,而不仅仅是值i

我采取以下结果:

01234

而不是:

0
1
2
3
4

2 个答案:

答案 0 :(得分:4)

您的代码 输出换行符。检查您的编辑器是否识别\n个换行符。但是,它是偶然的。 writelines需要一系列行:

with open('output.txt','w', encoding='UTF-8') as output:
  output.writelines(str(i)+'\n' for i in range(5))

答案 1 :(得分:0)

尝试使用write代替writelines

  

writelines(sequence_of_strings) - >没有。把字符串写到   文件。

     

请注意,不会添加换行符。序列可以是任何可迭代的   对象产生字符串。这相当于调用write()   每个字符串。

另一方面:

  

写(str) - >没有。将字符串str写入文件。

     

请注意,由于缓冲,之前可能需要flush()或close()   磁盘上的文件反映了写入的数据。