sys.argv[0] 未显示 python 中的文件名

sys.argv[0] is not showing the name of file in python

如果我理解正确,当输入 sys.argv[0] 时,它会显示正在处理的 .py 文件的名称。但是当我这样做时,它显示了一个不同的名字:

sys.argv[0]
'C:\Anaconda\lib\site-packages\spyderlib\widgets\externalshell\start_ipython_kernel.py' 

文件的真实名称是'Ra x 13 arima.py',位于'C:\Users\infantjo\Documents\Python Scripts\Projects\Work in Progress'

当前目录是:

os.getcwd()
'C:\Users\infantjo\Documents\Python Scripts\Projects'

我做错了什么?

(我在安装了 Anaconda 2.3.0、64 位的 Spyder 2.3.8 中使用 Python 2.7.11)。

argv 包含传递给 python 脚本的命令行参数列表。 argv[0] 是脚本名称。 doc

IDE 像 Spyder / PyCharm 不直接 运行 脚本。它是 运行 包装器 运行 你的脚本。

在这种情况下,Spyder 运行 start_ipython_kernel.py 脚本将您的脚本名称作为参数并 运行 它。

如果您需要脚本名称,请使用 __file__ var.