2017-09-22 21 views
0

特定の行(行番号3)を文字列に置き換える.txtファイルがあります。私は単純なfile.replace(targetString、newString)を使用したくないのですが、ファイル内に複数のtargetStringがあり、それらが入っているオーダーは不明です。私が置きたい文字列は、常に3行目であり、3行目の唯一の文字列であることはわかっています。ファイル行を文字列に置き換える

現在、私のコードは次のようになります、私は私が推測あなたが

with open("LAB5INFO.txt", "r+") as file: 
    content = file.read() 
    file.seek(0) 
    file.truncate() 
    file.write(content.replace(<<LINE3>>, string)) 
+0

こんにちはオリバーの内容を知っている必要はありませんが、私はあなたの質問にいくつかの変更を加えました。私はタイトルからPythonタグを取り出しました。タグは推奨されません。もっと重要なことは、コードブロックの間隔を変更しました。これはPythonなので、スペーシングの変更は重要です。私が行った変更があなたが書いたコードの真の表現ではないことが分かった場合は、質問を編集するか、変更をロールバックしてください。 –

+0

また、プログラミングでひどい人は、ファイルをエディタで開き、その行を変更するだけでいいのですか? (バッチスクリプトでその行を変更したいのであれば、通常はスクリプトの選択肢が必要です。 –

答えて

1

の考えることができる最も簡単な答えをいただければ幸いですので、私はプログラミングでひどいんですか?

他の回答からの借入
with open("LAB5INFO.txt", "rb") as file: 
    lines = file.readlines() 
    lines[2].replace("old","new") 
with open("LAB5INFO.txt", "wb") as file: 
    file.write("\n".join(lines) 
0

が、ここでは、元のライン

with open("LAB5INFO.txt", "rb") as file:lines = file.readlines() 
lines[2]="new third line" 
with open("LAB5INFO.txt", "wb") as file: file.write("\n".join(lines)) 
関連する問題