e = ('ham', 5, 1, 'bird')
logfile.write(','.join(e))
我必须将它连接起来,这样我才能将其写入文本文件。
join
只接受字符串列表,因此需要先将它们转换为字符串。
>>> e = ('ham', 5, 1, 'bird')
>>> ','.join(map(str,e))
'ham,5,1,bird'
或者更符合Python的风格
>>> ','.join(str(i) for i in e)
'ham,5,1,bird'
str()
是你想要向用户展示某些内容的方法(例如在日志文件中,这也是OP想要的)。 - Nick Craig-Woodjoin()
仅适用于字符串,不适用于整数。请使用 ','.join(str(i) for i in e)
。
csv
模块。这将避免关于如何处理包含逗号的项目的后续问题,以及关于如何处理包含您用于引用/转义逗号的字符的项目的另一个问题。import csv
e = ('ham', 5, 1, 'bird')
with open('out.csv', 'wb') as f:
csv.writer(f).writerow(e)
print open('out.csv').read()
输出:
ham,5,1,bird