Python写入行的流程
我的脚本有一部分是把一些值写入一个用制表符分隔的文本文件。所以我有了这个:
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了,这就导致了换行。