python - 通过命令行传递 Python 变量?

标签 python command-line command-line-arguments

我是 Python 的新手(就像昨天一样),所以如果我还不知道“显而易见的”,请耐心等待。

我有两种方法可以解决这个问题,任何一种都适合我,我不确定 getoptoptparse 是否包含我想要的/需要(从我正在阅读的内容)?我想做类似于以下的事情:

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/

相关文章:

python 完成后不会退出并释放 tty

python - 让 Selenium 导航到由 Flask 托管的页面时遇到问题

postgresql - 在 Homebrew 软件中链接 postgresql

php - 从命令行运行 PHP 脚本作为后台进程

python - 获取当前日期作为方法的默认参数

linux - 如何从 linux 控制台发送 facebook 消息(命令行)

python - 如何在Python中向argparse添加写入文件选项?

c - 将字符串添加到 C 中给定的命令行参数

scala - 如何解析 Scala 中的命令行参数?

python - matplotlib:在轴上绘制一个框