0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[CLI]オプションを取得するシンプルな関数 [python]

Last updated at Posted at 2024-10-08

オプションを取得するシンプルな関数を作りました。

pythonモジュールのargparseは複雑なので。

名前:option
引数:(argv,optionname)
返り値:(argv,parameter)

(argv,parameter)=option.option(argv,'-o')

として呼び出してください。argvは、sys.argvで、parameterは'-o'で指定された直後の引数が返ります。
-oと引数の間にはスペースが必要です。呼び出したあと、argvは、一つのオプションと引数が削除されたものになります。

同じオプションが指定されると最初が有効です。

引数がなくなるとparameterにヌルストリングを返すので、複数の同じオプションを指定する場合は、ループ処理で繰り返し呼び出してください。

実行例

$ python test.py test1 -o test2 test3
(['test.py', 'test1', 'test3'], 'test2')

違うオプションを指定した場合の実行例

$ python test.py test1 -a test2 test3
(['test.py', 'test1', '-a', 'test2', 'test3'], '')

本体

option.py
def option(l,o):
    if o in l:
        idx=l.index(o)
        if idx+1<len(l):
            if idx+2<len(l):
                return l[0:idx]+l[idx+2:],l[idx+1]
            else:
                return l[0:idx],l[idx+1]
        else:
            return l[0:idx],''
    return l,''

テスト

test.py
import option
import sys
print(option.option(sys.argv,'-o'))

ライセンス

誰が書いてもこうなるだろうから、Public Domain Softwareです。

0
0
0

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?