Python File Open
1. サーバー上のファイルを開く
Pythonファイルと同じフォルダーに、以下の内容の demofile.txt というファイルが存在すると仮定します。
demofile.txt
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!ファイルを開くには、組み込みの open() 関数を使用します。open() 関数はファイルオブジェクトを返します。このオブジェクトには、ファイルの内容を読み取るための read() メソッドが用意されています。
コード例:ファイルの読み込み
# ファイルをオープンする
f = open("demofile.txt")
# 内容を読み取って出力する
print(f.read())ファイルが別のディレクトリにある場合は、以下のようにファイルパスを指定する必要があります。
コード例:異なる場所にあるファイルを開く
# Windows環境での絶対パス指定の例
f = open("D:\\myfiles\\welcome.txt")
print(f.read())1.1 with文の活用
ファイルをオープンする際、with 文を使用することも可能です。
コード例:withキーワードの使用
with open("demofile.txt") as f:
print(f.read())with 文を使用すると、ファイルのクローズ処理をPythonが自動的に行なってくれるため、閉じ忘れを心配する必要がありません。モダンなPython開発では、この方法が推奨されます。
1.2 ファイルのクローズ
ファイル操作が終わったら、必ずファイルをクローズ(終了)するのが良いプラクティスです。with 文を使用しない場合は、明示的に close() ステートメントを記述する必要があります。
コード例:処理終了後にファイルをクローズする
f = open("demofile.txt")
# 最初の1行を読み込む
print(f.readline())
# ファイルを閉じる
f.close()注意: ファイルは常にクローズするようにしてください。バッファリングの影響により、ファイルをクローズするまで変更内容が反映されない場合があります。
2. ファイルの一部を読み込む
デフォルトでは、read() メソッドはテキスト全体を返しますが、取得したい文字数を指定することも可能です。
コード例:ファイルの最初の5文字のみを返す
with open("demofile.txt") as f:
# 最初の5文字を読み込む
print(f.read(5))2.1 行単位での読み込み
readline() メソッドを使用すると、1行分だけを返します。
コード例:ファイルの1行を読み込む
with open("demofile.txt") as f:
print(f.readline())readline() を2回呼び出すことで、最初の2行を読み取ることができます。
コード例:ファイルの最初の2行を読み込む
with open("demofile.txt") as f:
print(f.readline())
print(f.readline())ファイル全体を1行ずつ読み込みたい場合は、ファイルオブジェクトをループで処理するのが効率的です。
コード例:ファイルを1行ずつループ処理する
with open("demofile.txt") as f:
# ファイルオブジェクトをイテレートする
for x in f:
print(x)