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を加算する方法を紹介しました。ファイルの読み込みからエラーハンドリング、加算処理、ファイルへの書き込みまでを一通り実装しました。
この方法を活用して、簡単なファイル操作を行いたい場合に役立ててください。また、コマンドライン引数の使用やエラーハンドリングについても学ぶことができました。


コメント