如何将 python 文件“myproject.py”的当前路径设置为文件本身? 我不想要这样的东西:
path = "the path of myproject.py"
在 mathematica 中我可以设置:
SetDirectory[NotebookDirectory[]]
Mathematica 中代码的优势在于,如果我更改我的 Mathematica 文件的路径,例如,如果我将它交给其他人或将它放在另一个文件夹中,我不需要做任何额外的事情。每次 Mathematica 自动将目录设置为当前文件夹。
我想要在 Python 中使用类似的东西。
最佳答案
正确的解决方案不是更改当前工作目录,而是获取包含脚本或模块的目录的完整路径,然后使用 os.path.join
构建文件路径:
import os
ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
# then:
myfile_path = os.path.join(ROOT_PATH, "myfile.txt")
这比弄乱当前工作目录更安全(提示:如果另一个模块在您更改当前工作目录之后但在您访问文件之前更改了当前工作目录,会发生什么情况?)
关于python - 如何以自动方式在python中设置当前工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21934731/