0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python でコマンドライン引数のリストを取得してみました

Posted at

概要

pythonプログラムでコマンドライン引数のリストを取得する2つの方法を確認しました。

実行環境

macOS Ventura 13.0
python 3.8.12


1. sysモジュールのargvを使用する方法

実行するプログラムは以下となります。

func_variable_args.py
import sys

def func_args(args):
    print('args = ', args)
    args = sys.argv
    if len(args) > 1:
        print('Argument is ', str(len(args)))
        for i in range(1, len(args)):
            print(args[i])
    else:
        print('Arguments is not good')

if __name__ == '__main__':
    args = sys.argv
    func_args(args)

プログラムを実行してみます。

$ python func_variable_args.py 2023-01 2023-02
args =  ['func_variable_args.py', '2023-01', '2023-02']
Argument is  3
2023-01
2023-02

2. argparseモジュールを使用する方法

実行するプログラムは以下となります。

func_list_args.py
import argparse

def func_args(args):
    print('args = ', args)
    print('Argument is ', str(len(args)))
    for i in range(0, len(args)):
        print(args[i])

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description='list引数の確認')
    parser.add_argument('--alist', type=str, required=True, nargs="*", help='a list of str variables')
    args = parser.parse_args()
    func_args(args.alist)

プログラムを実行してみます。

$ python func_list_args.py --alist 2023-01 2023-02
args =  ['2023-01', '2023-02']
Argument is  2
2023-01
2023-02

まとめ

ケースバイケースで使い分けていきたいと思います。

0
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?