python - 无法获取 __file__ Python 的实际目录

标签 python python-3.x path operating-system directory

我一直在尝试获取打开的 .py 文件(使用 Spyder)的位置,该文​​件将用于链接各种文件并使用 __file__ 名称,以便任何计算机都可以从其运行当前目录。

问题是当我尝试时:

location = os.path.abspath(os.path.dirname(__file__))

它给了我错误:

名称错误:名称“__file__”未定义

我通过使用字符串形式调用文件而不是名称文件变量来绕过这个问题:

location = os.path.abspath(os.path.dirname('__file__'))

这可以让我获得文件的父目录,但不能获得文件所在的实际文件夹:

location = 'C:\Users\......\Scripts'

当实际位置位于:

location = 'C:\Users\......\Scripts\ISO'

我尝试了 abspathdirname 以及 realpath 的各种组合来获取 true 目录文件已存在,但我无法获取它。

我做错了什么?

最佳答案

因为我在 Spyder shell 中运行脚本,所以它没有输出正确的工作目录,因为工作目录设置在某种程度上与文件的路径不一致。

这可以通过运行 -> 每个文件的配置 -> 正在执行的文件的目录来解决

但是使用__file__运行脚本的更有效方法是从脚本所在目录中的python3.X.exe文件运行脚本。

关于python - 无法获取 __file__ Python 的实际目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53656960/

相关文章:

java - CentOS中java的JAVA_HOME和PATH应该选择哪个路径

macos - 无法在 Applescript 中获取给定应用程序的 POSIX 路径

perl - 如何规范化 Perl 中的路径? (不检查文件系统)

python - google colab 在此过程中设置了 '^C'

python - 根据先前的元素解析项目

python - 导入的py文件找不到它使用的模块

使用 select() 的 Python TCP 服务器

Python 作业 - 比较列表

python - Python:While循环中导入函数的奇怪问题

Python 可嵌入 zip : install Tkinter