\r\n\r\n
Pythonファイルへの印刷が必要ですか?今日は、ファイルへの書き込みをいかに簡単に始められるかを学びます。ここでは、新規ファイルの作成、既存ファイルの添付、既存ファイルの上書きを取り上げます。
Pythonで画面に印刷する方法は既にご存知かもしれませんが、ファイルに印刷する方法はご存知ないかもしれません。幸いなことに、多くの初心者向けPythonプログラムと同様に、ファイルを書くための構文はシンプルで読みやすく、理解しやすいものとなっています。
関連:Pythonで独自のモジュールを作成、インポート、再利用する方法
それを踏まえて、さっそく始めてみましょう。
Pythonで新しいファイルを作成し、編集用に開くには、組み込みのopen()関数を使用し、ファイル名の後にxパラメータを指定します。
f = open("testfile.txt", "x")x "パラメータを使用する場合、指定したファイル名がすでに存在する場合はエラーとなります。
成功すれば、write()メソッドでファイルへの書き込みができるようになります。
f.write("Hello, world!")write()」した文字列の各行は、行末の文字で終わるので、追加の文字列はそれぞれ新しい行に書き込まれます。
ファイルを開くときは、必ず close() メソッドで閉じるようにしましょう。そうしないと、ファイルがディスクに保存されない可能性があります。
f.close()行数の少ないファイルは、Pythonでwithキーワードを使って作成したり書き込んだりすることも可能です。
with open("testfile.txt", "x") as f:f.write("Hello, world!")この方法は、'with' スイートが終了したときに自動的にファイルを閉じるので、自分で閉じるのを覚えておく必要がないため、お勧めです。
書き込んだ後、rパラメータでファイルを開き、read()メソッドを呼び出すと読み込むことができます。
with open("testfile.txt", "r") as f:print(f.read())書き込むファイルがすでに存在し、そこに別の行を追加したい場合は、"append" パラメータでファイルを開く必要があります。
with open("testfile.txt", "a") as f:f.write("I'm an additional line.")開いてから "a "パラメータで書き込んだ内容は、改行されます。
また、このコードでは、ファイルはPythonスクリプトが実行されているのと同じディレクトリにあることを想定しています。別のディレクトリにある場合は、そのパスを指定する必要があります。
詳しくはこちら:Pythonでカレントディレクトリを取得する方法
ファイルが既に存在するが、追記ではなく上書きをしたい場合は、wパラメータでファイルを開くことで実現できます。
with open("testfile.txt", "w") as f:f.write("Hello, world!")どんなtestfile.txtが書かれていても、それを読むと「Hello, world!!!」と出力されます。
ファイルに印刷されるテキストが混乱したり、誤読したりする場合は、常に正しいエンコーディングでファイルを開くようにしてください。
with open("testfile.txt", "w", encoding="utf8") as f:現在、ほとんどのテキストファイルはUTF-8を使用していますが、その他にもISO-8859 (ISO-8859-1), UTF-16 (utf16), Windows-1252 (cp1252) などの一般的なエンコーディングがあります。
Pythonのツールベルトには、スクリプトで一般的なタスクであるファイルへの印刷機能が追加されました。
Pythonの学習を支援するために、Pythonの詳細な解説やTipsを提供しているWebサイトをリストアップしました。