0

使用 CLI:如何将参数传递给 TOC.action 函数[1, 'happy'][2, 'sad'] 我尝试过:

python TOC.action.py [1,“快乐”]

python TOC.py [1,“快乐”]

目录

#!/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

您需要在 shell 中引用参数:

$ 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确实值得使用。如果您打算以任何频率使用此工具,则尤其如此。

也就是说,还有一些工具旨在让 CLI 更轻松地访问 python 方法,包括fabricshovel(完全披露,我工作的公司编写了它)等。

于 2013-03-28T22:03:09.753 回答