如何使用追加,自定义分隔符打印并禁止Python 2中的尾随空格?

时间:2016-11-24 13:55:49

标签: python printing python-2.x separator trailing

我使用此命令在文件中打印输出:

print >> outfile, columns2[0],"\t",columns2[1],"\t",columns2[2]

我的问题是我有一个"空间"在每栏的内容结尾处。

我知道有时可以用sep来解决:

print('foo', 'bar', sep='')

但是我不知道在用上面的命令写入文件时如何实现sep

print >> outfile

3 个答案:

答案 0 :(得分:2)

空间来自print(Python 2.7?)中的逗号。

print >> outfile, '\t'.join(columns2)

应该解决这个问题。

答案 1 :(得分:0)

print()功能可用于打印到任何文件,而不仅仅是sys.stdout。尝试:

from __future__ import print_function

print(*columns2, sep="\t", file=outfile)

来自print()的文档:

  

打印 * objects,sep ='',end =' \ n',file = sys.stdout

     

file参数必须是具有write(string)方法的对象;如果不存在或None,则会使用sys.stdout

答案 2 :(得分:0)

您可以使用文件write方法,使用write方法最后不会有额外的换行符。建议在+运算符上使用字符串连接方法

outfile.write('\t'.join(column2))
# add + '\n' if need the new line
# use column2[:2] if you have more items in list and only need slice of them