我正在编写一个 python 命令行程序,它有一些相互依赖的选项,我希望用户能够以他们喜欢的任何顺序输入选项。
目前我正在使用 getopts 库来解析命令行选项,不幸的是它会按顺序解析它们。我已经将一个布尔标志系统放在一起,以保留某些命令行参数的处理,直到处理它们所依赖的参数,但是我有使用函数调用的优先级队列的想法,该队列将在所有命令之后执行行选项被解析。
我知道 Python 可以将函数存储在变量名下,但这似乎同时调用了函数。
例如:
help = obj.PrintHelp()
heapq.heappush(commandQ, (0, help))
将立即打印帮助对话框。我将如何实现我的代码,以便它不会在为其分配名称后立即调用 PrintHelp() 。
编辑:哦,我刚刚意识到我正在进入一个名为帮助的队列,这是我的错误。
感谢您在 PrintHelp 之后删除 () 的提示。
如果我现在想调用一个需要比 self 参数更多的函数怎么办?
myFun = obj.parseFile(path)
heapq.heappush(commandQ, (1, myFun))
我会让元组更大并采用命令行参数吗?