如何用Python编写布尔命令行参数?

How to write boolean command line arguments with Python?

我想在一个应用程序中编写一个参数,我调用的参数需要在脚本的第一次迭代/运行时引用,其中initial_run设置为True。否则,该值应保留为假。现在,这个参数在配置文件中配置。

我写的当前代码如下。在返回True值时,应该在该代码中更改什么?现在它只返回值False

1
2
3
4
import sys  
# main
param_1= sys.argv[0:] in (True, False)
print 'initial_run=', param_1


从命令行运行脚本:

1
# ./my_script.py true

布尔值可以通过以下操作获得:

1
2
3
import sys

initial_run = sys.argv[1].lower() == 'true'

这样,我们将第一个参数Lower的值比较为"true",如果字符串匹配,则比较将返回布尔值true,否则返回布尔值false。


改变

1
param_1 = sys.argv[0:] in (True, False)

到:

1
2
param_1 = eval(sys.argv[1])
assert isinstance(param_1, bool), raise TypeError('param should be a bool')