我正在生成一些数字(比方说,num
)并使用 outf.write(num) 将这些数字写入输出文件。
但是解释器抛出一个错误:
outf.write(num)
TypeError: argument 1 must be string or read-only character buffer, not int.
我该如何解决这个问题?
最佳答案
write()只需要一个单个字符串参数,所以你可以这样做:
outf.write(str(num))
或
outf.write('{}'.format(num)) # more "modern"
outf.write('%d' % num) # deprecated mostly
另请注意,write
不会将换行符附加到您的输出,因此如果您需要它,您必须自己提供。
旁白:
使用字符串格式可以让您更好地控制输出,例如您可以这样写(两者是等价的):
num = 7
outf.write('{:03d}\n'.format(num))
num = 12
outf.write('%03d\n' % num)
获取三个空格,整数值前导零后跟换行符:
007
012
format()将存在很长一段时间,因此值得学习/了解。
关于python - 如何使用 out.write() 将整数值写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160939/