如果我理解正确,当键入 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
像 Spyder/PyCharm 这样的 IDE 不会直接运行脚本。它运行运行您的脚本的包装器。
在这种情况下,Spyder 运行 start_ipython_kernel.py
脚本,该脚本获取您的脚本名称作为参数并运行它。
如果您需要脚本名称,请使用 __file__
变量。
关于python - sys.argv[0] 没有在 python 中显示文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37844969/