为什么我不能在Python中连接这个元组?
e = ('ham', 5, 1, 'bird')
logfile.write(','.join(e))
我需要把它合并起来,这样才能把它写入一个文本文件。
4 个回答
3
使用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
12
join()
这个方法只能用在字符串上,不能直接用在整数上。如果你想把一些整数连接成一个字符串,可以这样做:','.join(str(i) for i in e)
。这段代码的意思是,把列表中的每个整数先转换成字符串,然后用逗号把它们连接起来。
137
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'