您可以使用一个技巧,将顶级文件夹添加到路径中:
import sys
sys.path.append('..')
import folderB.something
我想我解决了这个问题。
以下是一种方法,您可以将父目录附加到PATH中。将其放在script_A1
的顶部:
import sys
import os
myDir = os.path.dirname(os.path.abspath(__file__))
parentDir = os.path.split(myDir)[0]
if(sys.path.__contains__(parentDir)):
print('parent already in path')
pass
else:
print('parent directory added')
sys.path.append(parentDir)
# Now comes the rest of your script
myProject
是否确实已添加到PATH中: print(sys.path)
myProject
现在是路径的一部分,你可以从任何其子目录中导入脚本/模块/等等。这是如何从 folder_B
导入 script_B2
的方式:import folder_B.script_B2 as script_B2
在关闭应用程序后,您可以验证Python环境是否恢复到其初始状态。只需再次打印PATH并检查您附加的目录是否已消失即可。
import imp
file, path, description = imp.find_module("folderB", ["./folderB"])
imp.load_module("folderB", file, path, description)
from folderB.script_B2 import *
sys.path
不是一种持久性的更改;它不会对PATH
或PYTHONPATH
做任何事情。这可能不是最好的方法,但它不会有你担心的问题。 - user2357112