Day 116簡単なコマンドライン引数処理
Pythonコード
1import sys2 3def main():4 print("コマンドライン引数の数: ", len(sys.argv))5 print("コマンドライン引数のリスト: ", sys.argv)6 7 if len(sys.argv) > 1:8 print("最初の引数: ", sys.argv[1])9 try:10 num = int(sys.argv[1])11 print("最初の引数を数値に変換しました: ", num)12 except (IndexError, ValueError):13 print("最初の引数は数値ではありません")14 else:15 print("コマンドライン引数はありません")16 17if __name__ == "__main__":18 main()
解説
- 行1: sysモジュールをインポートします。sysモジュールには、コマンドライン引数を扱うための関数や変数が含まれています。
- 行2〜3: main関数を定義します。main関数は、プログラムのエントリーポイントとなります。
- 行4〜5: コマンドライン引数の数とリストを出力します。len()関数は、リストの要素数を返します。sys.argvは、コマンドライン引数のリストを保持しています。print()関数は、画面に文字や値を表示する関数です。
- 行6〜10: コマンドライン引数が1つ以上ある場合、最初の引数を出力します。sys.argv[1]は、最初の引数を保持しています。try/exceptブロックを使用して、最初の引数を数値に変換します。int()関数は、文字列を数値に変換します。IndexErrorは、リストのインデックスが範囲外の場合に発生します。ValueErrorは、数値への変換が失敗した場合に発生します。
- 行11〜12: if __name__ == "__main__":ブロックを使用して、main関数を呼び出します。このブロックは、スクリプトが直接実行された場合にのみ実行されます。
次に試してみよう
- コマンドライン引数を使用して、簡単な計算機を作成してみましょう。
- コマンドライン引数を使用して、ファイルの内容を出力するプログラムを作成してみましょう。
- コマンドライン引数を使用して、簡単なゲームを作成してみましょう。