0

Python インタープリターを開き、同時に読んでいたファイルに書き込もうとしました。

file = open("foo.txt")
lines = file.readlines()
for i in range(0, 3):
    file.write(lines[0])

しかし、Python は、実行しようとしたときに、不適切なファイル ハンドラーがあることを示すエラーを発行しましたfile.write(lines[0])。ファイルの最初の行をファイル自体に書き込めないのはなぜですか?

4

1 に答える 1

7

ファイルに書き込むには、ファイルを書き込みモードまたは読み取り/書き込みモードで開く必要あります

file = open("foo.txt", "r+")  # reading and writing to file

また

file = open("foo.txt", "w")   # writing only to file

ファイルを開いてモードを指定しないと、デフォルトで読み取りモードになるため、ファイルを「読み取り」用に開いたのに「書き込み」しようとしました。

詳細については、ファイルの読み取りと書き込みの Python ドキュメントを参照してください。@Mizuho は、Python File IOに関するこのページも提案しました。このページには、利用可能なさまざまなモードの非常に優れた要約があります。

于 2012-06-10T22:30:11.520 に答える