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 の数字を使用して dataFile を書き込みたいので、for ループと範囲を使用してこれを行うと考えていましたが、1 行に 1 つの数字をファイルに書き込む方法がわかりません。

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 に答える