我想将4个参数传递给我的python脚本,其中一个必须是一个列表.即使它只包含1个元素.
参数的顺序无关紧要.
import sys
print sys.argv
one = sys.argv[1]
two = sys.argv[2]
three = sys.argv[3]
four = sys.argv[4]
print "one: " + one
print "two: " + two
print "three: "+ three
print "four: " + four
Run Code Online (Sandbox Code Playgroud)
这就是我的称呼方式.
python myScript.py name file setting ['listItem1']
Run Code Online (Sandbox Code Playgroud)
第四项是具有一个元素的列表.但是当我打印它时,我看到了
four: [listItem1]
Run Code Online (Sandbox Code Playgroud)
我想看看
four: ['listItem1']
Run Code Online (Sandbox Code Playgroud)
也许更好的方法是调用你的脚本
python myScript.py name file setting listItem1 ...
Run Code Online (Sandbox Code Playgroud)
然后使用切片:
four = sys.argv[4:]
Run Code Online (Sandbox Code Playgroud)
这使得python语法不受shell限制,这很难看,并且可能会在以后使用shell中的特殊字符引起更多麻烦.
更好的方法是使用argparse模块实现适当的CLI .