考虑这个简单的文件夹结构:
root
Package1
x.py
y.py
Package2
z.py
Examples
main.py
现在我们的要求是:
以下是有效的:
x.py
import y
def x():
y()
y.py
def y():
pass
z.py
import package1.y as y
def z():
y.y()
main.py
import sys
from os import path
sys.path.append( path.dirname( path.dirname( path.abspath(__file__) ) ) )
import package1.y as y
import package2.z as z
y.y()
z.z()
问题:
sys.path
中更改main
,因为它强烈地绑定了内部代码文件中的包位置的假设。有没有办法解决这个问题?as y
中多余的import package1.y as y
部分。有没有办法解决这个问题?