gpt4 book ai didi

python - 在模块中具有相对于调用模块的文件的相对路径

转载 作者:行者123 更新时间:2023-11-28 16:32:27 24 4
gpt4 key购买 nike

假设我有当前的文件结构:

  • 应用\模块\module.py
  • 应用\模块\somefile.txt
  • 应用\scripts\script.py
  • 应用\main.py

模块\脚本.py :

import sys
sys.path.append("..\\")
from modules.module import module
[...]

主要文件:

import sys
from modules.module import module
[...]

模块\模块.py :

[...]
fileToRead="somefile.txt"

问题是:

  • 如果我的模块是从 main.py 导入的,somefile.txt 的路径应该是 "modules\\somefile.txt"
  • 如果我的模块是从 script.py 导入的,somefile.txt 的路径应该是 "..\\modules\\somefile.txt"

我不想使用绝对路径,因为我希望我的应用程序文件夹可以移动。我想到了一个相对于根文件夹的路径,但我不知道它是否是一个干净的解决方案,而且我不想用多余的东西污染我的所有脚本。

有没有一种干净的方法来处理这个问题?

最佳答案

我不确定你在做什么,但由于 somefile.txtmodule.py 在同一个文件夹中,你可以将路径设置为它通过使用其预定义的 __file__ 属性相对于模块:

import os
fileToRead = os.path.join(os.path.dirname(__file__), "somefile.txt")

关于python - 在模块中具有相对于调用模块的文件的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30508146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com