sys.argv [0]没有在python中显示文件名

时间:2016-06-15 20:16:43

标签: python anaconda spyder

如果我理解正确,当键入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'

我做错了什么?

(我使用Spyder 2.3.8中的Python 2.7.11与Anaconda 2.3.0,64bit一起安装)。

1 个答案:

答案 0 :(得分:2)

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

像Spyder / PyCharm这样的IDE并不直接运行脚本。它运行运行您脚本的包装器。

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

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