- 必要なライブラリのインポート: CLIユーティリティを作成するために、まず必要なライブラリをインポートします。以下のコードを使用します。
import os
import argparse
- コマンドライン引数の設定:
CLIユーティリティは、コマンドライン引数を使用して操作を受け取る必要があります。
argparse
モジュールを使用して、コマンドライン引数を設定します。以下のコードを使用して、ファイルのカウントと検索のための引数を追加します。
parser = argparse.ArgumentParser(description='ファイルのカウントや検索を行うCLIユーティリティ')
parser.add_argument('-d', '--directory', type=str, help='検索するディレクトリのパス')
parser.add_argument('-c', '--count', action='store_true', help='ファイルの数をカウントする')
parser.add_argument('-s', '--search', type=str, help='指定したテキストを含むファイルを検索する')
args = parser.parse_args()
- ファイルのカウント:
-c
オプションが指定された場合、ユーティリティは指定されたディレクトリ内のファイルの数をカウントします。以下のコードを使用します。
if args.count:
file_count = len(os.listdir(args.directory))
print(f'ファイルの数: {file_count}')
- ファイルの検索:
-s
オプションが指定された場合、ユーティリティは指定されたテキストを含むファイルを検索します。以下のコードを使用します。
if args.search:
matches = []
for root, dirs, files in os.walk(args.directory):
for file in files:
file_path = os.path.join(root, file)
with open(file_path, 'r') as f:
if args.search in f.read():
matches.append(file_path)
if matches:
print('検索結果:')
for match in matches:
print(match)
else:
print('一致するファイルはありません。')
これで、Pythonでファイルのカウントや検索を行うためのシンプルなCLIユーティリティが完成しました。コマンドライン引数を使用して、必要な操作を指定できます。以上が、作成方法といくつかのコード例です。