how*_*rks 5 python getopt command-line-arguments
我一直在使用 python getopt 进行解析,无论是短的还是长的,效果都很好。现在我需要在 getopt 函数中添加一些更多的短变量,如果我需要多个字符作为 getopt:short ,它看起来会更好。有没有办法做这样的事情。
getopt.getopt(argv,"hf:c:d:pv:pz:","")
Run Code Online (Sandbox Code Playgroud)
在这里,我需要将 pv 和 pz 作为单独的命令行参数来访问,而不是 getopt 将其读取为“无参数的 p”、“有一个参数的 v”。我在引号内尝试了“pv:”[pv:],但它识别了 pv,但不读取参数。
另外,(在不同的注释上)对于相同的参数是否可以有多个输入。请原谅我,如果这是一个非常简单的答案。
小智 2
根据我对文档和研究的理解,当我需要与你相同的东西时,我没有办法做到这一点。shortopts前缀“-”仅适用于一个字符,对于多个字符,必须使用longopts,它使用前缀“--”。
python3中的示例:
import sys, getopt
try:
opts, args = getopt.getopt(sys.argv[1:], 'c:d:', ['hf','pv','pz'])
except getopt.GetoptError as e:
print(str(e))
for o, a in opts:
print(o, ':', a)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我认为没有办法添加longopts必需的参数,但这可以通过手动检查来解决。
有关更多信息,我建议查阅文档: https://docs.python.org/3.1/library/getopt.html
| 归档时间: |
|
| 查看次数: |
4178 次 |
| 最近记录: |