3

私も書いているファイルに問題があります。基本的には、変数に「名前を入力してください」というinput()を取得しました。これで、ファイルを作成して、必要なものを書き込みました。その人が入力した内容に基づいて()その情報をファイルの特定の行に配置したい...

これは私がそれをするためにしたことであり、それは機能しますが、テキストを挿入して現在のテキストをシフトするのではなく、現在のテキストを上書きしています...

例えば;

index = open('index.html' 'w')
index.write(""" blah blah blah
                blah blah blah
                blah """)
index.seek(20)
index.write(variable)
index.close()

今、私が変数にしたいのは、それがしているようにファイルに入るだけですが、現在のテキストを上書きすることはありません。アドバイスをいただければ幸いです。

Python3.2を使用しています。

4

1 に答える 1

2

テキストをファイルに挿入するには、テキストをファイルから変数に読み込みます。テキストを正しい場所に挿入し、テキストをファイルに書き戻します。

そのようです:

with open("filename", 'rt', encoding="utf8") as infile:
    text = infile.read()

text = text[:20] + 'inserted text' + text[20:]


with open("filename", 'wt', encoding="utf8") as outfile:
    outfile.write(text)

ただし、ご質問のとおり、実際にはファイルが事前に存在していないと思われます。その場合、最初にテキスト全体を変数として単純に作成し、それをファイルに書き込むのが最善の方法です。

于 2012-06-18T12:49:44.807 に答える