gpt4 book ai didi

python将列表写入文本文件导致长度不同

转载 作者:太空宇宙 更新时间:2023-11-04 12:42:01 27 4
gpt4 key购买 nike

我有 2 个长度相同的字符串列表,但是当我将它们写入一个文件,其中每个项目出现在文件中的不同行时,它们的列表长度和文件不匹配:

print len(x)
print len(y)

317858
317858

然而,当我将列表中的每个项目写入文本文件时:文本文件中的行数与列表的长度不匹配。

with open('a.txt', 'wb') as f:
for i in x[:222500]:
print >> f, i

在 Linux 中,wc -l a.txt 给出正确的 222499。

with open('b.txt', 'wb') as f:
for i in y[:222500]:
print >> f, i

在 Linux 中,wc -l b.txt 给出 239610,这是错误的。

当我在终端中 vi b.txt 时,它确实有 239610 行,所以我很困惑为什么会这样。

我该如何调试它?

最佳答案

在 b.txt 中找到比写入的字符串数更多的行的唯一可能方法是 y 中的某些字符串实际上包含新行。

这是一个小例子

l = [ 'a', 'b\nc']
print len(l)
with open('tst.txt', 'wb') as fd:
for i in l:
print >> fd, i

这段小代码将打印 2,因为列表 l 包含 2 个元素,但生成的文件将包含 3 行:

a
b
c

关于python将列表写入文本文件导致长度不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39888880/

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