dataFile = open("temp1", "w")
for line in range(11):
dataFile.write(line)
dataFile.close()
这是我到目前为止所做的,但是当我运行此代码时,我一直收到错误。
Traceback (most recent call last):
File "datafile print liines.py", line 3, in <module>
dataFile.write(line)
TypeError: expected a character buffer object
>Exit code: 1
我希望这段代码使用数字1-10编写一个dataFile,所以我想使用for循环和范围会这样做,但我不知道如何将它写入一个文件每行一个数字。
我知道python有一个'w'命令可以创建一个打开文件。
任何人都可以给我一些建议,说明为什么我会收到此错误以及如何将其写入数据文件?
答案 0 :(得分:1)
你必须在文件中写一个字符串而不是整数。
range(11)
返回一个整数列表:
In [1]: range(11)
Out[1]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
尝试将第3行更改为以下内容:
dataFile.write(str(line))
您可以添加换行符,以便文件中生成的文字更具可读性:
dataFile.write('%s\n' % line))
答案 1 :(得分:0)
试试这个
dataFile = open("temp1", "w")
for line in range(11):
dataFile.write("%s\n" % line)
dataFile.close()
在
中生成带有此文件的文件0
1
2
3
4
5
6
7
8
9
10
您只能将字符串用作write