PYTHON:使用本地文件夹文件调用导入模块=错误



早上好,

结构如下:

-root folder
---folder_A
-----conf_file.cnf
-----module.py
---folder_B
-----script.py

模块.py:

class ModuleFoo:
FILE_CONST = "conf_file.cnf"
...

执行这个文件,一切正常。从conf文件加载数据,一切都顺利运行。

脚本.py:

...
from folder_A.ModuleFoo import *
...
class MyScript:
...
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.ObjModuleFoo = ModuleFoo(...)
...

突然出现一个错误:

FileNotFoundError: [Errno 2] No such file or directory: 'conf_file.cnf'

我知道它与路径有关,但我不知道如何准确地安装它,以便能够在我想要的每个脚本上导入ModuleFoo,而不必在导入它的每个本地项目上移动配置文件。

你能帮我吗?我尝试过absolutepath、cwd、sys等……但不知道如何解决它,当导入模块时,cwd发生了变化,事件的真实绝对路径也发生了变化。到当前运行script.py的路径。

谢谢和问候。

好。我已经这样解决了:

模块.py上:

...
import os
...
class ModuleFoo:
FILE_CONST = f"{os.path.dirname(__file__)}/conf_file.cnf"

就是这样,它成功了。你觉得这个灵魂有什么问题吗?我知道很多人说,在这样的事情上重新引用">文件"不是一个好主意。。。

最新更新