Pythonでは、ファイル操作を簡単に行うための標準ライブラリが提供されています。ファイルの読み書き、ファイルの存在確認、ファイルの削除など、さまざまなファイル操作を行うことができます。以下に、Pythonのファイル操作について詳しく解説します。
ファイルのオープンとクローズ
ファイルを操作するためには、まずファイルをオープンする必要があります。ファイルをオープンするには、open
関数を使用します。ファイルを使い終わったら、必ず閉じる必要があります。これは、close
メソッドを使用するか、with
ステートメントを使用することで自動的に行うことができます。
基本的な構文
file = open('ファイル名', 'モード')
# ファイル操作
file.close()
with
ステートメントを使った方法
with
ステートメントを使用すると、ファイルのクローズを自動的に行ってくれるため、安全です。
with open('ファイル名', 'モード') as file:
# ファイル操作
ファイルのオープンモード
ファイルをオープンするモードには、以下のようなものがあります。
'r'
: 読み取り専用(デフォルト)'w'
: 書き込み専用(ファイルが存在する場合は上書きされる)'a'
: 追記専用(ファイルが存在しない場合は新しく作成される)'b'
: バイナリモード(例えば'rb'
や'wb'
などで使用される)'+'
: 読み書きモード(例えば'r+'
,'w+'
,'a+'
など)
ファイルの読み込み
ファイルからデータを読み込むには、read
メソッド、readline
メソッド、readlines
メソッドを使用します。
例
# ファイル全体を読み込む
with open('example.txt', 'r') as file:
content = file.read()
print(content)
# 一行ずつ読み込む
with open('example.txt', 'r') as file:
for line in file:
print(line.strip())
# 一行だけ読み込む
with open('example.txt', 'r') as file:
line = file.readline()
print(line.strip())
# 複数行をリストとして読み込む
with open('example.txt', 'r') as file:
lines = file.readlines()
for line in lines:
print(line.strip())
ファイルへの書き込み
ファイルにデータを書き込むには、write
メソッドやwritelines
メソッドを使用します。
例
# ファイルに書き込む
with open('example.txt', 'w') as file:
file.write('Hello, World!\n')
file.write('Python is fun.\n')
# 複数行を書き込む
lines = ['First line\n', 'Second line\n', 'Third line\n']
with open('example.txt', 'w') as file:
file.writelines(lines)
ファイルの存在確認
ファイルの存在を確認するには、os.path
モジュールを使用します。
例
import os
if os.path.exists('example.txt'):
print('File exists.')
else:
print('File does not exist.')
ファイルの削除
ファイルを削除するには、os
モジュールのremove
関数を使用します。
例
import os
if os.path.exists('example.txt'):
os.remove('example.txt')
print('File deleted.')
else:
print('File does not exist.')
ファイルのコピーと移動
ファイルをコピーまたは移動するには、shutil
モジュールを使用します。
例
import shutil
# ファイルのコピー
shutil.copy('source.txt', 'destination.txt')
# ファイルの移動
shutil.move('source.txt', 'new_location.txt')
バイナリファイルの操作
バイナリファイルを操作するには、バイナリモードでファイルをオープンします。
例
# バイナリファイルの読み込み
with open('example.bin', 'rb') as file:
content = file.read()
print(content)
# バイナリファイルへの書き込み
with open('example.bin', 'wb') as file:
file.write(b'\x00\x01\x02\x03')
まとめ
Pythonのファイル操作は、非常に強力で使いやすい機能です。ファイルの読み書き、存在確認、削除、コピー、移動など、さまざまな操作を簡単に行うことができます。ファイル操作を行う際は、必ずファイルを正しくクローズすることを忘れないようにしましょう。