【发布时间】:2020-03-07 13:53:57
【问题描述】:
是否还有其他更有效的方法来验证命令行参数而不需要外部模块和 argparse?
import sys
import getopt
argv = sys.argv[1:]
try:
opts, args = getopt.getopt(argv, "h", ["help", "version", "number="])
except getopt.GetoptError as error:
print(error)
exit(1)
if args:
exit(1)
print(opts)
print(args)
所以我会这样做,但是可以吗?我是 python 新手,想尽可能多地使用 python 功能
【问题讨论】:
-
查看 argparse 模块。来自docs.python.org/3.7/library/getopt.html:“getopt 模块是一个命令行选项解析器,其 API 旨在让 C getopt() 函数的用户熟悉。不熟悉 C getopt() 函数或想编写的用户更少的代码并获得更好的帮助和错误消息应该考虑使用 argparse 模块。”
-
你真的不应该使用
getop,使用更高级别和更全功能的东西,至少argparse甚至是第三方的东西,比如click -
感谢您编辑您的问题,但为什么“没有 argparse”?这显然是标准库中内置的可行答案。如果我们不了解您的限制条件,我们将无法帮助您。
-
您的问题有点难以理解,您基本上是在问“还有其他解析参数的方法”,但是您的要求拒绝所有其他方式...我不确定您是什么期待。
标签: python command-line-arguments getopt