1. orange_u

    Posted

    orange_u
Changes in title
+Python: コマンドライン引数とは?(超基礎)
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,46 @@
+# コマンドライン引数とは?
+
+* Pythonのプログラム実行時に,引数を渡すことができる
+* `sys`モジュールの`argv`を利用する
+* 入力値は文字列型として扱われる
+
+## どうやって引数を渡すか
+
+* サンプルとしてtest.pyというファイルをつくる
+* `args[1]`とインデックスが`1`から始まっているのは,実行結果を見れば理由が分かる
+
+```python:test.py
+import sys
+
+args = sys.argv
+
+print(args)
+print("第1引数:" + args[1])
+print("第2引数:" + args[2])
+print("第3引数:" + args[3])
+```
+
+* 下記コマンドで実行する
+* `a b c`を引数として渡している(`test.py`も表示される)
+
+```pycon:コマンド
+python test.py a b c
+```
+
+* 実行すると以下のようになる
+
+```pycon:実行結果
+['test.py', 'a', 'b', 'c']
+第1引数:a
+第2引数:b
+第3引数:c
+```
+
+* この`test.py`起動時に,3行目の`sys.argv`に渡したい引数が格納される
+* 実行結果からわかるように,リストとして値が返される
+* `argv[1]`のインデックスが`1`から始まっているのは,このリストの最初の要素に実行ファイル名が入るため
+
+##その他
+
+* 上のプログラムでは引数が不足しているとエラーを吐く
+* 処理前に`len()`を用いて引数の数をチェックすると良い