Pythonでテキストファイル内の整数を加算するプログラムの作成方法

C言語関連

Pythonを使って、テキストファイル内に格納された整数値を読み取り、それを1加算するプログラムを作成する方法について解説します。プログラムは、ファイルの存在確認とエラーハンドリング、加算結果を表示する機能を持ちます。この記事では、ファイルをコマンドライン引数で指定し、そのファイルに書かれた整数を加算する処理を実装します。

1. コマンドライン引数でファイルを指定する方法

Pythonでコマンドライン引数を扱うには、標準ライブラリの「sys」モジュールを使用します。コマンドラインからプログラムを実行する際に、ファイル名を引数として渡し、それをプログラム内で読み取ります。

まず、次のようにsys.argvを使って引数を受け取ります。

import sys

if len(sys.argv) < 2:
    print("ファイル名を指定してください")
    sys.exit(1)
file_name = sys.argv[1]

このコードでは、コマンドライン引数が不足している場合にエラーメッセージを表示し、プログラムを終了します。

2. ファイルの読み込みと整数の加算処理

ファイルを読み込む際、指定したファイルが存在するかを確認する必要があります。もしファイルが存在しない場合は、エラーメッセージを表示して終了するようにします。

次に、ファイルから整数を読み取り、1加算して結果を再びファイルに書き込む処理を実装します。以下はそのサンプルコードです。

try:
    with open(file_name, 'r') as file:
        number = int(file.read())
        new_number = number + 1
        print(f"Increment {number}->{new_number}")
except FileNotFoundError:
    print(f"{file_name} が見つかりませんでした。")
    sys.exit(1)
except ValueError:
    print(f"{file_name} の内容が整数ではありません。")
    sys.exit(1)

ここではファイルを読み込み、内容を整数に変換してから加算を行い、その結果を表示しています。また、ファイルが見つからない場合や、ファイル内の内容が整数でない場合には適切なエラーメッセージを表示します。

3. 結果をファイルに書き込む方法

変更後の値をファイルに書き戻すには、ファイルを開いて書き込みモードで保存します。次のように、加算した結果をファイルに保存するコードを追加します。

with open(file_name, 'w') as file:
    file.write(str(new_number))

このコードは、加算した新しい値を指定されたファイルに上書き保存します。

4. 実行例と確認

実際にこのプログラムを実行することで、コマンドライン引数としてファイル名を指定すると、ファイル内の整数が1加算され、結果がコンソールに表示されます。例えば、ファイル「number.txt」に「19」という整数が書かれている場合、プログラムを実行すると以下のような結果が表示されます。

Increment 19->20

このようにして、ファイル内の値を加算することができます。

5. まとめ

この記事では、Pythonを使ってテキストファイル内の整数を読み取り、その値に1を加算する方法を紹介しました。ファイルの読み込みからエラーハンドリング、加算処理、ファイルへの書き込みまでを一通り実装しました。

この方法を活用して、簡単なファイル操作を行いたい場合に役立ててください。また、コマンドライン引数の使用やエラーハンドリングについても学ぶことができました。

コメント

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