如何解决导入模块时相对路径中断
somedirectory/
project/
config/
key.txt
project/
core.py
sub/
mycaller.py
我在mycaller.py
中有一个通过以下方式读取key.txt
的类:
with open('../../config/key.txt','r') as arq:
arq.read()
但是,当我将类导入到core.py
时,相对路径将相对于那个文件设置,因此它不是读取.../project/config/key.txt
,而是尝试读取{{ 1}},它不存在,因此会引发错误。
我虽然可以绕过.../somedirectory/config/key.txt
之类的函数,但是由于该函数只是将相对格式转换为绝对格式,所以它失败了。我还尝试在os.path.abspath
上设置mypath
变量,但是模块的导入始终采用对mycaller.py
的相对引用。
如何在core.py
中设置调用方,以便可以使用相对路径表示法,并且即使导入了open
,解释器仍将始终使该关系对mycaller.py
起作用?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。