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

标签 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'

我做错了什么?

(我在安装了 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/

相关文章:

python - 处理 pandas Dataframe 中的特殊字符作为列名

python - 使用 CGI Python 将网页重定向到主页

python - 在 Python 列表中交换元素的最快方法

python - 在 anaconda 上将 pip 升级到 ver18

python - 在 Spyder IDE 中格式化 python 代码

python - 交换名字和姓氏位置

python - 当我尝试运行 pyspark.cmd 时,我收到错误消息 "find: ' version' : No such file or directory"

python - 在anaconda python中保存动画文件时出现"IOError: [Errno 32] Broken pipe"

python - 我在 spyder 上看到“"TypeError: ' 元组对象不支持项目分配”

python - 如何在不将事件窗口更改为 IPython 控制台的情况下在 Spyder 中运行代码选择?