所以我目前正在做一个小项目,但是在进口方面遇到了困难。 最初我有这样的结构:
root -> python
-> tests -> testscripts
我从python文件夹运行测试,并且在该文件夹中有一个名为pertest_resources的类,其中包含指向其他文件夹(如根目录和脚本文件夹)的路径。
python_folder = os.path.realpath(os.curdir)
perf_root_folder = os.path.realpath(python_folder + "/../")
test_root_folder = os.path.realpath(python_folder + "/../tests")
script_folder = os.path.realpath(test_root_folder + "/scripts")
network_folder = os.path.realpath(test_root_folder + "/networks")
output_folder = os.path.realpath(test_root_folder + "/output")
input_folder = os.path.realpath(test_root_folder + "/input")
kit_folder = os.path.realpath(perf_root_folder + "/kit")
sys.path.append(python_folder)
sys.path.append(script_folder)
sys.path.append(network_folder)
现在,当所有核心文件都位于python文件夹中时,此方法工作正常,但是现在它有点混乱了,我被要求将一些python脚本分支到名为“ networks”的新文件夹,其结构类似于:
root -> python -> perftest_resources.py
-> tests -> testscripts
-> networks -> standard_network.py
现在,我想从python文件夹中运行一个名为test的文件,该文件使用standard_network,该文件又从python文件夹中导入perftest_resources。
我尝试过:
sys.path.append('..' + os.sep + '..')
from python.perftest_resources import PerfTestResources as pr
,但是当它全部最初是从python文件夹中的test.py运行时,它不起作用。 我需要在两个文件夹中都添加init吗?
答案 0 :(得分:0)
这是包裹吗?如果为true,则应使用intra-package references
,例如
from . import echo
from .. import formats
from ..filters import equalizer
如果没有,请将其包装)