ファイルの先頭にインプレース付加
追加モードを使用してファイルの先頭に行を追加しようとしたとき (' a')、ファイル ポインタが自動的に最後まで進むため、ユーザーはファイルの最後で望ましくない書き込みに遭遇する可能性があります。
この制限を克服し、ファイルの先頭に実際に行を追加するには、いくつかの方法を使用できます。 :
方法 1: ファイルの読み取りと書き換え
ファイル全体をメモリにロードできる場合は、次の関数を使用できます:
<code class="python">def line_prepender(filename, line): with open(filename, 'r+') as f: content = f.read() f.seek(0, 0) f.write(line.rstrip('\r\n') + '\n' + content)</code>
この方法では、ファイルの内容を変数 content にロードし、行を先頭に追加したり、変更した内容をファイルの先頭に書き換えたりすることができます。
方法 2: ファイル入力を使用するModule
別のアプローチには、fileinput モジュールの使用が含まれます。
<code class="python">def line_pre_adder(filename, line_to_prepend): f = fileinput.input(filename, inplace=1) for xline in f: if f.isfirstline(): print line_to_prepend.rstrip('\r\n') + '\n' + xline, else: print xline,</code>
このメソッドはファイルの行を反復処理し、最初の行に遭遇すると、指定された行をその行の前に付加します。
このメソッドの正確なメカニズムは完全には明らかではありませんが、内容全体をメモリにロードすることなくファイルをインプレース編集できるため、より大きなファイルに適している可能性があります。
以上がPython でファイルの先頭に行を追加する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。