2017-09-16 3 views
0

Lorsque je tente d'écrire dans un autre fichier, je reçois une erreur disant:Comment puis-je écrire un int dans un fichier

TypeError: write() argument must be str, not int 

Comment puis-je écrire un int dans un fichier? Ci-dessous mon code actuel

infile = open("milk.in","r").readlines() 
outfile = open("milk.out","w") 

a, b = infile[0].split() 
a, b = int(a), int(b) 

sum = a + b 

outfile.write(sum) 
outfile.close() 

Répondre

1

write() ne prend que string comme argument. Convertissez sum en string. Cependant, vous devriez lire file I/O.

0

Vous ne pouvez pas écrire un nombre entier directement dans un fichier. vous devez convertir le int en utilisant la fonction stringstr puis écrire dans le fichier

0

Oui, vous ne pouvez pas simplement écrire l'entier de déposer et il sera écrit sous forme de chaîne.

Toutefois, si vous voulez la valeur à stocker comme il est (dans votre cas, il est un entier) et que vous souhaitez plus tard pour le récupérer, vous pouvez utiliser le module pickle de python

import pickle 
pickle.dump()  
pickle.load() 

Alors, donnez cornichon un essai et laissez vos valeurs stockées dans le format que vous voulez les stocker dans le fichier

http://effbot.org/librarybook/pickle.htm [pickle introduction]