如果我理解正确,当键入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一起安装)。
答案 0 :(得分:2)
argv
包含传递给python脚本的命令行参数列表。 argv[0]
是脚本名称。 doc
像Spyder / PyCharm这样的IDE并不直接运行脚本。它运行运行您脚本的包装器。
在这种情况下,Spyder运行start_ipython_kernel.py
脚本,将脚本名称作为参数运行并运行。
如果您需要脚本名称,请使用__file__
var。