尝试将整数保存到文本文件时出现写入错误,如何解决?

0 投票
1 回答
1046 浏览
提问于 2025-04-16 10:31

好的,我正在尝试把三个原始输入的变量保存到一个文本文件里。一切都运行得很好,直到要把信息添加到文本文件的时候(我想这就是所谓的“追加”)。

程序运行到列表中的第二个变量,也就是年龄,然后就出现了这个错误:

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

1 个回答

1

这个缓冲区可能是期待一个字符串。应该是这样的:

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

你仍然可以把它转换成整数,这样在把值写入缓冲区之前可以确保它是个整数,但是如果 Python 不能转换它,就会报错。

撰写回答