尝试将int保存到文本文件时发生错误,我将如何解决此问题?

问题描述:

好的,我试图将三个原始输入变量保存到文本文件中。每一件事情都很好,直到它将信息添加到文本文件中(我认为这就是所谓的)。 它下到名单上的第2个变量,它是年龄,然后打印此错误:尝试将int保存到文本文件时发生错误,我将如何解决此问题?

Traceback (most recent call last): 
    File "C:\Users\Owner\Desktop\Management CMS\employee-management.py", line 7, in <module> 
    fileObj.write(age) 
TypeError: expected a character buffer object 

我的代码是:

name = raw_input("What is your name?") 
age = int(raw_input("How old are you?")) 
favcolor = raw_input("What is your favorite color?") 

fileObj = open("employee.txt","w") 
fileObj.write(name) 
fileObj.write(age) 
fileObj.write(favcolor) 
fileObj.close() 
print "The following text has been saved:" 
print name 
print age 
print favcolor 
+3

“列表中的第二个变量”不是年龄,它是一个惊人的** integer **。你怎么没有看到这个? – SilentGhost 2011-01-24 16:16:31

+0

Typo ........... – 2011-01-24 16:19:14

缓冲区可能想到的字符串。它应该是:

age = raw_input("How old are you?") 

,您仍然可以将它转换为一个整数,以确保它是值写入缓冲区之前一个int,但如果Python不能转换,它会引发错误。