テキストファイルを読み、その内容を Python で印刷する

Jesse John 2023年1月30日
  1. Python でのファイルの読み取りに関する注意
  2. テキストファイルを読み、その内容を Python で印刷する
テキストファイルを読み、その内容を Python で印刷する

この記事では、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
Jesse John avatar Jesse John avatar

Jesse is passionate about data analysis and visualization. He uses the R statistical programming language for all aspects of his work.

関連記事 - Python File