我是 Python 的新手(就像昨天一样),所以如果我还不知道“显而易见的”,请耐心等待。
我有两种方法可以解决这个问题,任何一种都适合我,我不确定 getopt
或 optparse
是否包含我想要的/需要(从我正在阅读的内容)?我想做类似于以下的事情:
python this.py --variable VariableName="Value" -v VariableName2="Value2"
或
python this.py --VariableName "Value"
我面临的主要问题是我可能需要有选择地传递任何变量,但不一定是所有变量并以任何特定顺序传递(因此,原始 sys.argv
不会在我的情况下不起作用)。对于其中一些变量,我可能会传递字符串、数字和/或数组。
在脚本中传递变量后,我将需要以某种方式检查它们是否已设置/不为空,并根据需要分配默认值。
谢谢!
最佳答案
您肯定需要一个命令行参数解析器。 Python 附带了一些。 Python2.7有argparse
可以根据需要向后移植到早期版本,这是我推荐的。还有 optparse
.它不如 argparse
好,但它仍然可以做得很好,并且适用于较旧的 python 版本和较新的版本。
还有 getopt
, 但与其他相比,那一个几乎不值一提。
关于python - 通过命令行传递 Python 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13364119/