我的虚拟项目树如下:
base|
|test.py
|model
|code1.py
|code2.py
|hi.npy
hi.npy
是存储的simpe字符串/我需要在code1中加载的任何文件。
code2.py
import numpy as np
def pr(a):
print(f'hi {a}')
code1.py
from code2 import pr # I load the function from code2
import numpy as np
a = np.load('hi.npy') # I try to load the file
当我进入模型时,我可以同时运行code1
和code2
。
但是当我上一层时,转到基本文件夹。
test.py
import sys
from pathlib import Path
sys.path.append(Path(__file__).parent / "model")
print(sys.path)
from model.code1 import *
即使我按照许多类似的答案(Python: Best way to add to sys.path relative to the current running script的建议将模型路径添加到系统,也无法从{成功加载pr
函数和a
文件{1}}。
test.py
ModuleNotFoundError: No module named 'code2'
我可以更改文件结构的设计/移动文件/使用OOP来解决此问题,但是有什么简单的方法可以使我从{{加载FileNotFoundError: [Errno 2] No such file or directory: 'hi.npy'
和a
1}}
1。无需手动更改code1,code2 和
中的文件路径/导入2。能够同时运行test.py(来自基础)和code1.py(来自模型)。