MENU

Python初心者必見!ファイル操作の基本と応用を徹底解説

python

ファイル操作は、Pythonプログラムで欠かせないスキルです。データの保存や読み込みを行うことで、プログラムの利便性が飛躍的に向上します。本記事では、Pythonを使ったファイル操作の基礎から、メモ帳アプリの作成までを解説します。また、エラーハンドリングやCSV/JSONファイルの操作など応用例も紹介。これを読めば、初心者でもファイル操作が自由自在になります!


ファイル操作の基本

ファイルを開く

ファイルを操作するには、open()関数を使用します。以下の例は、テキストファイルを開いて内容を読み取るコードです。

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

ファイルに書き込む

ファイルにデータを書き込む場合、モードを"w"に設定します。

with open("example.txt", "w") as file:
    file.write("Hello, World!")

ファイル操作に関するエラーハンドリング

初心者がファイル操作でつまずく原因の1つが、エラーハンドリングの不足です。例えば、指定したファイルが存在しない場合、エラーが発生します。このような問題を防ぐために、try-except構文を活用しましょう。

try:
    with open("non_existent_file.txt", "r") as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("指定したファイルが見つかりませんでした。")
except IOError:
    print("ファイル操作中にエラーが発生しました。")

このコードでは、ファイルが見つからない場合に特定のエラーメッセージを表示します。これにより、プログラムの予期しない停止を防ぐことができます。


ファイル操作の応用例

CSVファイルの操作

CSV(カンマ区切り値)は、データの保存によく使われます。Pythonでは、csvモジュールを使うことで簡単に操作できます。

import csv

# 書き込み
with open("data.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["名前", "年齢", "職業"])
    writer.writerow(["田中", 30, "エンジニア"])

# 読み込み
with open("data.csv", "r") as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

JSONファイルの操作

JSON形式は、APIや設定ファイルでよく使われます。jsonモジュールを使用して操作します。

import json

# 書き込み
data = {"name": "田中", "age": 30, "job": "エンジニア"}
with open("data.json", "w") as file:
    json.dump(data, file, ensure_ascii=False, indent=4)

# 読み込み
with open("data.json", "r") as file:
    data = json.load(file)
    print(data)

実践!メモ帳アプリを作ろう

メモ帳アプリの概要

今回の実習では、ユーザーが入力した内容をテキストファイルに保存し、保存したメモを読み込む簡単なメモ帳アプリを作成します。

基本機能の実装

今回の実習では、ユーザーが入力した内容をテキストファイルに保存し、保存したメモを読み込む簡単なメモ帳アプリを作成します。

def save_memo():  
    memo = input("メモを入力してください: ")  
    with open("memo.txt", "a") as file:  
        file.write(memo + "\n")  
    print("メモを保存しました!")  

def read_memo():  
    print("保存されているメモ:")  
    with open("memo.txt", "r") as file:  
        print(file.read())  

# メモ帳アプリのメニュー  
while True:  
    print("1: メモを保存する")  
    print("2: メモを読む")  
    print("3: 終了する")  
    choice = input("選択してください: ")  

    if choice == "1":  
        save_memo()  
    elif choice == "2":  
        read_memo()  
    elif choice == "3":  
        print("アプリを終了します。")  
        break  
    else:  
        print("無効な選択です。") 

メモ帳アプリの拡張機能

ファイル削除機能

不要になったメモを削除する機能を追加しましょう。

import os

def delete_file(filename):
    try:
        os.remove(filename)
        print(f"{filename}を削除しました。")
    except FileNotFoundError:
        print("削除するファイルが見つかりませんでした。")

検索機能の実装

メモの内容を検索する機能を追加します。

def search_in_file(filename, keyword):
    try:
        with open(filename, "r") as file:
            lines = file.readlines()
            results = [line for line in lines if keyword in line]
            if results:
                print(f"検索結果: {results}")
            else:
                print("キーワードが見つかりませんでした。")
    except FileNotFoundError:
        print("検索対象のファイルが見つかりませんでした。")

初心者が躓きやすいポイントと解決方法

ファイルの絶対パスと相対パス

初心者がよく混乱するのが、ファイルパスの指定です。ファイルが見つからない場合、絶対パスを指定することで解決できます。

# 絶対パスを指定する例
file_path = "/Users/username/documents/example.txt"

エンコーディングエラー

特に日本語を扱う場合、エンコーディングエラーが発生することがあります。この問題は、open()関数のencoding引数で解決できます。

with open("example.txt", "r", encoding="utf-8") as file:
    content = file.read()
    print(content)

まとめ

ファイル操作は、Pythonプログラミングにおいて非常に重要なスキルです。本記事では、ファイルの基本操作からエラーハンドリング、応用例としてCSVやJSONファイルの扱い方、さらに実践的なメモ帳アプリの作成方法を解説しました。

初心者の方が陥りやすいポイントにも触れ、トラブルシューティング方法を紹介することで、実際にプログラムを作成するときのハードルを下げる内容となっています。また、メモ帳アプリに拡張機能を追加することで、より実用的で使いやすいツールに仕上げることができます。

Pythonでのファイル操作を習得することで、データ処理や自動化の幅が大きく広がります。ぜひ本記事を参考に、さまざまなプログラムに挑戦してみてください!

今回使用したVPSはこちら

コメント

タイトルとURLをコピーしました