0

CLI の使用: TOC.action 関数にパラメーターを渡す方法[1, 'happy']または[2, 'sad'] 試した:

python TOC.action.py [1、「幸せ」]

python TOC.py [1、「幸せ」]

TOC.py

#!/usr/bin/python
import sys
   
def one(var):
    print var

def two(var):
    print var

def main(do):
    print "now what"
    print do[0]
    if do[0]==1: one(do[1])
    if do[0]==2: two(do[1]) 
    
if __name__ == '__main__':
    main(argv)
    print 'Argument List:', str(sys.argv)
4

2 に答える 2

2

シェルで引数を引用符で囲む必要があります。

$ python TOC.py '[1, "happy"]' "[2, 'sad']"

引数を Python データ構造に変換する場合は、次を使用しますast.literal_eval

for arg in sys.argv[1:]:
    print ast.literal_eval(arg)

これが複雑になりすぎたら、argparseモジュールを使用して引数の読み取りを処理します。

于 2013-03-28T22:00:27.447 に答える
0

コマンドライン引数を使用してかなり複雑なことを行う場合は、argparse実際に使用する価値があります。これは、このツールを任意の頻度で使用する場合に特に当てはまります。

そうは言っても、 fabricshovel (完全な開示、私が働いている会社が書いています) など、Python メソッドへの CLI アクセスを簡単にするように設計されたツールもあります。

于 2013-03-28T22:03:09.753 に答える