【发布时间】:2015-06-23 04:06:20
【问题描述】:
我对 Python 有点陌生,最近发现自己在编写这样的代码:
command = None
args = None
mode = None
query = None
short_args, long_args = None, None
if sys.argv[1] == '-s':
# search mode
command = sys.argv[2]
query = sys.argv[3]
mode = SEARCH
else:
# normal mode
command = sys.argv[1]
args = sys.argv[2:]
mode = NORMAL
short_args, long_args = get_args(args)
将所有这些变量设置为 None 似乎非常样板且错误,我确定必须有一些更清洁的方法来做到这一点?
我知道我可以这样做:
command = sys.argv[2] if sys.argv[1] == 's' else None
但这对他们所有人来说似乎有点过头了。
或者这属于“显式优于隐式”,我不应该太担心?
【问题讨论】:
-
你为什么不用argparse?
-
@JamesMills 我真的不需要它。
-
我不想使用你的 CLI 工具 :) 可用性。
-
@JamesMills 对于一个简单的工具,您不需要引入复杂的库:) 简单胜于复杂。
-
argparse 是 python 标准库的一部分;所以我不认为它是*复杂的”:)
标签: python coding-style