【发布时间】:2017-04-12 21:40:18
【问题描述】:
是否可以使用特定的命令行开关告诉 python 解释器运行我的脚本。
例如,
如果我启用了 doctests,我想添加
if __name__ == '__main__':
import doctest
doctest.testmod()
创建一个独立的测试运行器。
但是,这需要我添加-v 开关来运行脚本:
python myscript -v
在像 Sublime 这样编译系统默认没有开关的编辑器中,这并不总是很方便。我知道我可以创建一个自定义构建器,但与指定用于某些脚本的开关相比,这不是最佳选择。
有可能吗?如果可以,怎么做?
更新
下面有人指出,doctest 案例涉及脚本标志而不是解释器开关。但我真的很想知道这两种情况。
虽然testmod(verbose=True) 可以解决这个特殊情况,但我仍然对原来的问题感兴趣。
【问题讨论】:
-
您使用的是 Windows 还是 Linux
-
@chbchb55 macOS
-
注意:解释器本身的标志与脚本的标志不同。运行
python myscript -v会将-v标志传递给脚本,而python -v myscript将导致Python 将-v解释为解释器本身的标志。 -
@user2357112 感谢您的提醒!我想知道这两种情况。所以我会修改我的问题。
-
你没有试过 import sys 然后 sys.argv 会在一个数组中包含你的 -v 输入
标签: python command-line doctest