【发布时间】:2019-11-28 08:15:37
【问题描述】:
Python 新手,从文档线性开始: https://docs.python.org/3.7/library/sys.html
如果命令是使用解释器的 -c 命令行选项执行的,则 argv[0] 设置为字符串“-c”。如果没有将脚本名称传递给 Python 解释器,则 argv[0] 为空字符串。
我的代码:
import sys
print(sys.argv)
我的命令:
py main.py -c test
输出:
['main.py', '-c', 'test']
所以即使我输入 -c test sys.argv[0] 的值似乎是“main.py”,而文档说明它应该是“-c”。
所以这里的“-c”实际上是 sys.argv[1]。
Python 版本:3.7.3。
我是不是误会了什么?
【问题讨论】:
-
你为什么不使用 Argparse docs.python.org/3/howto/argparse.html
-
我没有使用 Python,这只是为了教育目的。试图弄清楚事情是如何运作的。似乎我的代码/设置或其他东西不在这里。我也去看看,谢谢!
-
试试
python -c "import sys; print(sys.argv)"。根据文档“启动解释器的第二种方法是python -c command [arg] ...,它在命令中执行语句” -
@AbdulNiyasPM 啊哈明白了。您可以将此作为答案提交,我会接受。
-
sys.argv中的第一个值始终是执行的 python 模块的名称。
标签: python python-3.x command