Python -ファイル操作-
Pythonでのファイル操作は、外部ファイル(テキストファイル、CSVファイルなど)を読み書きするために使用される
1. ファイルを開く (open)
ファイルを操作する最初のステップはファイルを開くことだ。Pythonの 'open() '関数を使ってファイルを開く。'open()'関数には、少なくとも2つの引数(ファイル名とモード)を指定する
ファイルを開く
open("ファイルパス", "モード", encording="エンコード")
ファイルを開くモード
"r": 読み取り専用モード。ファイルが存在しない場合、エラーが発生する
"w": 書き込み専用モード。ファイルが存在しない場合、新しいファイルが作成される。存在する場合は、その内容が上書きされる
"a": 追記モード。ファイルが存在しない場合、新しいファイルが作成されれる。存在する場合は、ファイルの末尾にデータが追加される。
"b": バイナリモード。バイナリファイルを操作する場合に使用する
"t": テキストモード。デフォルトのモードで、テキストファイルを操作する
"w+":書き込みと読み込みを同時に行える。'w+'でファイルを開いたあとにread()などで読み込もうとすると、中身が無いため何も読み込まれない
"r+":読み込みと書き込みを同時に行える。'r+'でファイルを開いたとき、最初にファイルを読み込むことができないとエラーが発生する
例: テキストファイルを読み取り専用モードで開く
file = open("example.txt", "r")
2. ファイルを閉じる (close)
ファイルを操作し終わったら、close()メソッドを呼んでファイルを閉じる。これによりファイルに対するリソースが解放され、データが適切に保存される
例: ファイルを閉じる
file.close()
3. with 文を使ったファイル操作
with文を使うと、ファイルを開いた後に自動的に閉じることができる
with文を使うには、ファイルをオープンするときは、はじめにwithと記述し、行の終わりにas f: のように書き加える
例: with文を使ってファイルを開く
with open("example.txt", "r") as file:
content = file.read()
print(content)
with文を使うことで、ブロックを抜けた時点で自動的にファイルが閉じられる
4. ファイルの読み込み
read(): ファイル全体を一度に読み込む
with open("example.txt", "r") as file:
content = file.read()
print(content)
この例では、ファイルの全内容が読み込まれ、contentに保存される
readline(): ファイルを1行ずつ読み込む
with open("example.txt", "r") as file:
line = file.readline()
while line:
print(line, end="")
line = file.readline()
readline()メソッドを使うと、ファイルを1行ずつ読み込むことができる
readlines(): ファイルの各行をリストとして読み込む
with open("example.txt", "r") as file:
lines = file.readlines()
for line in lines:
print(line, end="")
readlines()メソッドは、ファイルの各行をリストとして返す
5. ファイルへの書き込み
ファイルにデータを書き込むには、"w"(書き込みモード)や"a"(追記モード)を使う
write(): ファイルに文字列を書き込む
with open("example.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
write()メソッドは、指定された文字列をファイルに書き込む
writelines(): リストやイテラブルの内容を一度に書き込む
lines = ["First line\n", "Second line\n", "Third line\n"]
with open("example.txt", "w") as file:
file.writelines(lines)
writelines()メソッドは、リストやタプルの各要素をファイルに書き込む
6. 例外処理を伴うファイル操作
ファイル操作中にエラーが発生する可能性があるため、try-exceptブロックを使って例外処理を行うことが推奨される
例: 例外処理を使ったファイル操作
try:
with open("example.txt", "r") as file:
content = file.read()
print(content)
except FileNotFoundError:
print("ファイルが見つかりません")
except IOError:
print("ファイルの読み書き中にエラーが発生しました")
この例では、ファイルが見つからない場合や読み書き中にエラーが発生した場合に適切なエラーメッセージを表示する
7. バイナリファイルの操作
バイナリファイル(画像や音声ファイルなど)を扱う場合は、"rb"や"wb"モードを使う
例: バイナリファイルの読み込み
with open("image.png", "rb") as file:
data = file.read()
この例では、バイナリファイルの内容を読み込んでdataに保存する
8. CSVファイルの操作
CSVファイルは、データをカンマ区切りで保存する形式で、Pythonのcsvモジュールを使って簡単に読み書きができる
例: CSVファイルの読み込み
import csv
with open("data.csv", "r") as file:
reader = csv.reader(file)
for row in reader:
print(row)
例: CSVファイルへの書き込み
import csv
data = [
["Name", "Age", "City"],
["太郎", "25", "東京"],
["花子", "30", "大阪"]
]
with open("data.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerows(data)
csv.writerを使って、リスト形式のデータをCSVファイルに書き込むことができる