e = ('ham', 5, 1, 'bird')
logfile.write(','.join(e))
Je dois le rejoindre pour pouvoir l'écrire dans un fichier texte.
join
ne prend que des listes de chaînes, donc convertissez-les d'abord
>>> e = ('ham', 5, 1, 'bird')
>>> ','.join(map(str,e))
'ham,5,1,bird'
Ou peut-être plus Pythonic
>>> ','.join(str(i) for i in e)
'ham,5,1,bird'
join()
ne fonctionne qu'avec des chaînes, pas avec des entiers. Utilisez ','.join(str(i) for i in e)
.
Il serait peut-être préférable de convertir d'abord le tuple en liste:
e = ('ham', 5, 1, 'bird') liste = list(e) ','.join(liste)
Utilisez le module csv
. Il enregistrera une question de suivi sur la façon de gérer les éléments contenant une virgule, suivie d'une autre sur la gestion des éléments contenant le caractère que vous avez utilisé pour citer/échapper les virgules.
import csv
e = ('ham', 5, 1, 'bird')
with open('out.csv', 'wb') as f:
csv.writer(f).writerow(e)
Vérifie ça:
print open('out.csv').read()
Production:
ham,5,1,bird