【发布时间】:2015-08-09 20:27:00
【问题描述】:
我想检查用户是否设置了可选的 argparse 参数。
我可以使用 isset 安全地检查吗?
类似这样的:
if(isset(args.myArg)):
#do something
else:
#do something else
这对于 float / int / string 类型的参数是否同样有效?
我可以设置一个默认参数并检查它(例如,设置 myArg = -1,或“”为字符串,或“NOT_SET”)。但是,我最终要使用的值仅在脚本的后面计算。因此,我会将其默认设置为 -1,然后稍后将其更新为其他内容。与简单地检查值是否由用户设置相比,这似乎有点笨拙。
【问题讨论】:
-
isset()会是什么(提示:Python 不是 PHP)?你的意思是hasattr()吗?为什么不配置 argparse 来为选项设置默认值? -
@MartijnPieters - 是的,是的。那么我可以简单地检查一下 if(args.myArg): ...