テキストファイルを読み、その内容を Python で印刷する
Jesse John
2023年1月30日
この記事では、Python を使用してテキストファイルを読み取り、その内容を画面に印刷する方法を示します。
Python でのファイルの読み取りに関する注意
バイナリファイルを開かないでください
この記事で説明する方法は、テキストファイルにのみ適用されます。Python は、ファイルを読み取るときに行末文字を変更します。したがって、バイナリファイルをこのように開いてはなりません。
詳細については、ファイルの読み取りと書き込みに関する公式の Python ドキュメントをお読みください。
ファイル全体を一度に読むことは避けてください
次の行を読み取る前に、一度に 1 行ずつテキストファイルを読み取り、各行を画面に印刷することをお勧めします。これにより、メモリより大きいファイルでも完全に画面に印刷されます。
テキストファイルを読み、その内容を Python で印刷する
ファイルオブジェクトを作成する
最初のステップは、open()
関数を使用して読み取り専用モードでファイルオブジェクトを作成することです。最初の引数はファイル名とパスです。2 番目の引数はモードです。
この関数には他の引数があり、その中で最も一般的なのは encoding
です。省略した場合、デフォルトはプラットフォームに依存します。
encoding = 'utf-8'
を使用するのが一般的です。
サンプルコード:
# Create the file object.
# Give the correct filename with path in the following line.
file_object = open("path_to_TEXT_file.txt", "r", encoding="utf-8")
ファイルオブジェクトの文字列をループして印刷する
Python は、ファイルオブジェクトの各行を読み取って印刷するための非常に効率的な方法を提供します。
この目的のために、単純な for
ループが使用されます。次のコードの string
という単語は単なる変数名です。コードはファイル内のすべての行をループします。
サンプルコード:
# Loop over and print each line in the file object.
for string in file_object:
print(string)
説明:
- ループは、反復ごとに 1 行のテキストファイルを出力します。
- 各行は、新しい行の文字が検出された場所で終了します。
- すべての行が印刷されると、ループは終了します。
ファイルオブジェクトを閉じる
コードがファイル内のすべての行を出力した後、メモリを解放するためにオブジェクトを閉じる必要があります。
サンプルコード:
# Close the file object.
file_object.close()
完全なサンプルコード:
# python3
# coding: utf-8
# Create the file object.
# Give the correct filename with path in the following line.
file_object = open("path_to_TEXT_file.txt", "r", encoding="utf-8")
# Loop over and print each line in the file object.
for string in file_object:
print(string)
# Close the file object.
file_object.close()
著者: Jesse John