簡単な方法は、テキストを文字列に読み取り、その文字列を書きたいテキストと連結することです。
infile = open('hey.txt','r+')
content = infile.read()
text = ['foo','bar']
for item in text:
content +=item #adds 'foo' on first iteration, 'bar' on second
infile.write(content)
infile.close()
または特定のキーワードを変更するには:
infile = open('hey.txt','r+')
content = infile.read()
table = str.maketrans('foo','bar')
content = content.translate(table) #replaces 'foo' with 'bar'
infile.write(content)
infile.close()
または行ごとに変更するには、readlines を使用して、各行をリストのインデックスとして参照できます。
infile = open('hey.txt','r+')
content = infile.readlines() #reads line by line and out puts a list of each line
content[1] = 'This is a new line\n' #replaces content of the 2nd line (index 1)
infile.write(content)
infile.close()
問題を解決するための特にエレガントな方法ではないかもしれませんが、関数にラップすることができ、「テキスト」変数は、辞書、リストなどの多くのデータ型になる可能性があります。置換する方法もいくつかありますファイル内の各行は、行を変更するための基準が何であるかに依存します (行内の文字または単語を検索していますか?ファイル内の場所に基づいて行を置き換えようとしているだけですか?)- -これらも考慮すべき事項です。
編集: 3 番目のコード サンプルに引用符を追加