HOWTO · Python
Python でファイルを文字列に読み込む
このチュートリアルでは、Python でファイルを文字列に読み込む方法を示します
このページの内容
Python には、さまざまなファイルタイプでさまざまなファイル操作を処理できる組み込み関数があります。テキストファイルには、すべての行が改行文字\n を使用して終了する一連の文字列が含まれています。
このチュートリアルでは、Python でテキストファイルを文字列に読み込む方法を学習します。
Python で read() メソッドを使用してテキストファイルを文字列に読み取る
ファイルオブジェクトの read() メソッドを使用すると、テキストファイルからすべてのコンテンツを一度に読み取ることができます。まず、ファイルオブジェクトを作成し、open() 関数を使用して必要なテキストファイルを読み取りモードで開きます。次に、このファイルオブジェクトで read() 関数を使用して、すべてのテキストを文字列に読み取り、以下に示すように出力します。
with open("sample.txt") as f:
content = f.read()
print(content)
出力:
sample line 1\n sample line 2\n sample line 3\n
ファイルを読み取ると、改行文字\n も読み取られます。replace() 関数を使用してこの文字を削除できます。この関数は、文字列のすべての改行文字を関数内の指定された文字に置き換えます。
例えば、
with open("sample.txt") as f:
content = f.read().replace("\n", " ")
print(content)
出力:
sample line 1 sample line 2 sample line 3
Python で pathlib.read_text() 関数を使用してテキストファイルを文字列に読み取る
pathlib モジュールは Python 3.4 に追加され、ファイル処理とシステムパスに利用できるより効率的なメソッドがあります。このモジュールの read_text() 関数は、テキストファイルを読み取って、同じ行で閉じることができます。次のコードはこれを示しています。
from pathlib import Path
content = Path("sample.txt").read_text().replace("\n", " ")
print(content)
出力:
sample line 1 sample line 2 sample line 3
Python で join() 関数を使用してテキストファイルを文字列に読み取る
join() メソッドを使用すると、Python でさまざまな反復可能オブジェクトを結合できます。この関数を使用して、テキストファイルを文字列に読み込むこともできます。このために、ファイルオブジェクトを使用してすべてを読み取り、リスト内包表記を使用して、join() 関数を使用してそれらを結合します。以下のコードはこれを実装しています。
with open("sample.txt") as f:
content = " ".join([l.rstrip() for l in f])
print(content)
出力:
sample line 1 sample line 2 sample line 3
ここでの rstrip() 関数は、行から末尾の文字をすべて削除します。