为什么我不能在Python中join这个元组?

e = ('ham', 5, 1, 'bird') logfile.write(','.join(e)) 

我必须join它才能将其写入文本文件。

join只需要string列表,所以先转换它们

 >>> e = ('ham', 5, 1, 'bird') >>> ','.join(map(str,e)) 'ham,5,1,bird' 

或者也许更pythonic

 >>> ','.join(str(i) for i in e) 'ham,5,1,bird' 

join()只能用于string,而不能用整数。 使用','.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 

首先简单地将元组转换为列表可能会更好:

e = ('ham', 5, 1, 'bird') liste = list(e) ','.join(liste)