0

私はコードを持っています:

filename = "C:/users/patrik/documents/mypython.txt"
with open(filename) as f:
    if f.readlines()[0] == "patrik's file": #first line
        f.write("This file has been read by patrik!")

うまくいかないのはなぜですか?エラーが発生せず、この後ファイルの内容が乱雑になります。何が間違っていますか?

4

1 に答える 1

3

ファイルに対して読み取り操作と書き込み操作の両方を実行するには、次のいずれかのモードを選択できます。

'r+':

読み取りと書き込みの両方のためにファイルを開きます。ファイルポインタはファイルの先頭になります。

'a+':

追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイル ポインタはファイルの末尾にあります。ファイルが追加モードで開きます。ファイルが存在しない場合は、読み書き用に新しいファイルを作成します。

これfileは Python の組み込み関数であるため、変数名として使用しないでください。

于 2013-01-19T22:00:54.733 に答える