我有一个脚本,可以从其目录中加载图像,并且我希望能够从任何文件中导入该脚本,而该脚本仍能够找到其图像。这样可能更清晰:
A/
file1.py
images/img.png
B/
file2.py
在file1.py
中:
image = load_img("images/img.png")
在file2.py
中:
import file1
# here, I expect to be able to use file1.image
但是在file2中,相对路径是相对于B/
目录的,因此找不到images/img.png
。
无论我从何处导入image
而不在此处编写绝对路径,如何都可以使用file1.py
变量?最佳做法是什么?
在此先感谢您的帮助或建议。
答案 0 :(得分:1)
获取目录“ file1.py”并构建路径:
# Inside file1.py
import os
filename = os.path.join(os.path.dirname(__file__), "images/img.png")
image = load_img(filename)
答案 1 :(得分:0)
默认情况下无法执行此操作。 您需要使用sys.path.insert选项转到该文件夹,然后导入所需文件
import sys
sys.path.insert(0, '../A/')
import file1
print file1.image