2017-09-16 35 views
0

当我尝试写到另一个文件,我得到一个错误说:我如何写一个int到文件

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

我如何写一个int到一个文件?下面是我当前的代码

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() 

回答

1

write()只需string作为参数。将sum转换为string

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(str(sum)) 
outfile.close() 

但是,您应该阅读file I/O

0

你不能直接写一个整数到一个文件。您必须将int转换为string使用str功能,然后将其写入文件

0

是的,你不能简单地写入文件整数,它会以字符串形式被写入。

但是,如果你要存储的值,因为它是(在你的情况,这是一个整数),后来想恢复它,那么你可以使用Python的泡菜模块

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

所以给泡菜试试让你的值以你想要它们存储在文件中的格式存储

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

相关问题