0
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 编写数据文件,所以我想使用 for 循环和范围来做到这一点,但我不知道如何将它写入文件,每行一个数字。

我知道python有一个'w'命令可以创建一个打开文件。

谁能给我一些建议,说明为什么我会收到此错误以及如何将其写入数据文件?

4

2 回答 2

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))
于 2012-05-02T20:14:46.167 回答
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

于 2012-05-02T20:15:41.287 回答