この記事では、Pythonを用いてコマンドライン引数でテキストファイルを操作する方法を詳しく解説します。具体的なコード例とその解説、応用例を含めています。この記事を読むことで、ファイルの読み込み、書き込み、その他の操作をコマンドラインから行えるようになります。
はじめに
Pythonは、テキストファイルの操作を非常に簡単に行えるプログラミング言語です。特にコマンドライン引数を使用することで、スクリプトの汎用性を高めることができます。この記事では基本的な操作から応用例までを網羅して解説していきます。
基本的なテキストファイルの操作
Pythonでテキストファイルを操作する基本的なコードを見ていきましょう。
テキストファイルの読み込み
import sys
# コマンドライン引数でファイル名を指定
file_name = sys.argv[1]
# ファイルを読み込む
with open(file_name, "r") as f:
print(f.read())
こちらのコードは、コマンドライン引数によって指定されたテキストファイルを読み込み、その内容を出力します。`sys.argv[1]`で引数を受け取り、`with open()`文を用いてファイルを安全に読み込んでいます。
応用例
1. テキストファイルの書き込み
import sys
# コマンドライン引数でファイル名とテキストを指定
file_name = sys.argv[1]
text = sys.argv[2]
# ファイルにテキストを書き込む
with open(file_name, "w") as f:
f.write(text)
この応用例では、書き込みたいテキストもコマンドライン引数で指定します。`with open(file_name, “w”) as f:`でファイルを書き込みモードで開き、`f.write(text)`でテキストを書き込みます。
2. ファイルの行数と文字数をカウント
import sys
# コマンドライン引数でファイル名を指定
file_name = sys.argv[1]
# ファイルを読み込む
with open(file_name, "r") as f:
text = f.read()
# 行数と文字数をカウント
lines = text.split("\n")
line_count = len(lines)
char_count = len(text)
print(f"行数: {line_count}, 文字数: {char_count}")
この例では、指定されたテキストファイルの行数と文字数をカウントします。`split(“\n”)`でテキストを行ごとに分割し、`len()`関数で行数と文字数をカウントします。
3. ファイルの特定の行を出力
import sys
# コマンドライン引数でファイル名と行番号を指定
file_name = sys.argv[1]
line_number = int(sys.argv[2])
# ファイルを読み込む
with open(file_name, "r") as f:
lines = f.readlines()
# 指定された行を出力
if line_number <= len(lines):
print(lines[line_number - 1].strip())
else:
print("指定された行は存在しません")
この例では、コマンドライン引数で指定した行番号のテキストを出力します。`readlines()`で全行を読み込み、リストとして保持。その後、指定した行番号が存在するかチェックし、存在すればその行を出力します。
まとめ
この記事では、Pythonでコマンドライン引数を用いてテキストファイルを操作する方法について解説しました。基本的な読み書きから、行数や文字数のカウント、特定の行を出力するなどの応用例までを学びました。これを機に、Pythonを使ってより高度なテキストファイルの操作を行ってみてはいかがでしょうか。
コメント