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

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

4

4 回答 4

129

join只接受字符串列表,所以先转换它们

>>> 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'
于 2009-11-29T11:43:47.213 回答
11

join()仅适用于字符串,不适用于整数。使用','.join(str(i) for i in e).

于 2009-11-29T11:43:37.287 回答
4

您最好先将元组转换为列表:

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

于 2015-06-02T18:32:20.610 回答
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
于 2009-11-29T13:26:31.580 回答