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

时间:2016-12-06 23:09:10

标签: python

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

我写的当前代码如下。在此代码中应该更改哪些内容以返回True值?现在它只返回值False

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

2 个答案:

答案 0 :(得分:5)

从命令行运行脚本:

# ./my_script.py true

可以通过执行以下操作来获取布尔值:

import sys

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

这样我们比较第一个小写的参数是'true',如果字符串匹配,比较将返回布尔值True,否则返回布尔值假。

答案 1 :(得分:0)

变化

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

为:

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