見出し画像

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ファイルに書き込むことができる


いいなと思ったら応援しよう!