python - 如何以自动方式在python中设置当前工作目录

标签 python directory

如何将 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/

相关文章:

python - 在python上安排任务

python - Pydev 找不到 matplotlib 模块

python - 如何将两个坐标列转换为一列 Shapely 点

python - 在不更改目录的情况下写入 Python 中的新目录

c - malloc 内存中的数据损坏

iphone - 文档文件夹中预定义的文件夹层次结构

python - 将类别转换为数据框python中的列

Python/导入错误 : Import by filename is not supported

linux - Squid 源代码目录重命名在 make clean 期间出现 "aclocal-1.14"丢失错误

python - 找不到目录时停止python程序关闭