Python写入行的流程

1 投票
6 回答
854 浏览
提问于 2025-04-15 13:01

我的脚本有一部分是把一些值写入一个用制表符分隔的文本文件。所以我有了这个:

for linesplit in fileList:
    for i in range (0, len(linesplit)):
        t.write (linesplit[i]+'\t')

在文件的第一行,我得到了我预期的输出,但后面的行都以一个制表符(\t)开头,像这样:

value1    value2    value3
    value1    value2    value3
    value1    value2    value3

还有,为什么在第二个FOR循环后我不需要加t.write('\n')来创建新行?我本来以为上面的代码会生成一长串用制表符分隔的值,但实际上并不是。如果我加上t.write('\n'),那么制表符的问题就解决了,但我又得到了重复的'\n'...

6 个回答

1

你最后的值必须有一个"\n",这会导致两个问题:第一个问题是因为它在换行后输出了'\t',第二个问题就很明显了——神秘的换行是来自你最后的值。

6

它没有产生你想要的结果,因为原始的行(linesplit)里面有换行符(\n),而你没有把它去掉。在你第二个循环之前插入以下代码:

linesplit = linesplit.strip('\n')

这样就可以解决问题了。

1

抱歉... 在我点击提交后,我突然意识到。我最后的值里面已经有一个\n了,这就导致了换行。

撰写回答