我试图用Python读取单个文件并打印出来。我正在使用此代码:
filename = 'test.txt'
with open(filename, 'r') as f:
for line in f:
print line
文件的内容(' test.txt')是下一个:
MYPROGRAM
1 1 16/02/2015 2 4300004734 DOE, JOHN 201512 F/201512 132,00 1 DOE, JOHN 10180063X ANY ADRESS Nº XX LEVEL DOOR 24397 CITY STATE COUNTRY 2
1 2 16/02/2015 1 7000000000 201512 F/201512 120,00 1 2
1 3 16/02/2015 3 4770000000 201512 F/201512 12,00 1 10,00 0 120,00 2
这些字段之间有空格,制表符和换行符,这里没有显示。
输出是这个奇怪的事情:
1YPROGRA1 16/02/2015 2 4300004734 DOE, JOHN 201512 F/201512 1LEVEL D3OR 16/02/2015TY 3TATE 4770000000 201512 F/2015122 120,00
有些线条与其他线条重叠。为什么?如何在不修改原始文本文件的情况下解决此问题?
答案 0 :(得分:4)
文件'test.txt'包含回车符(\r
),但没有换行符(\n
)。
此代码将整个文件读入一个字符串,在回车时拆分,然后逐行打印:
with open(filename, 'r') as f:
s = f.read()
for line in s.split('\r'):
print line
或者,您可以拆分它并将其打印在一行中:
print '\n'.join(s.split('\r'))
第二种方法效率稍高,但第一种方法更具可读性,恕我直言。