我使用此命令在文件中打印输出:
print >> outfile, columns2[0],"\t",columns2[1],"\t",columns2[2]
我的问题是我有一个"空间"在每栏的内容结尾处。
我知道有时可以用sep
来解决:
print('foo', 'bar', sep='')
但是我不知道在用上面的命令写入文件时如何实现sep
:
print >> outfile
答案 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