从目录导入,该目录从另一个文件导入并加载文件[python]

时间:2020-06-11 11:32:16

标签: python python-3.x module path pathlib

我的虚拟项目树如下:

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

当我进入模型时,我可以同时运行code1code2

但是当我上一层时,转到基本文件夹。

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(来自模型)。

0 个答案:

没有答案