gpt4 book ai didi

python - 为什么我在 Python 中读取文件时会得到重叠的行?

转载 作者:行者123 更新时间:2023-11-28 22:45:04 25 4
gpt4 key购买 nike

我正在尝试用 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

有些线与其他线重叠。为什么?如何在不修改原始文本文件的情况下解决这个问题?

最佳答案

文件 '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'))

恕我直言,第二种方法效率稍高,但第一种方法可读性更强。

关于python - 为什么我在 Python 中读取文件时会得到重叠的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28963133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com