我有一个包含所有文件的目录:
myDirectory/
directory1/
importantFile.py
Output.py
如何从importantFile.py导入Output.py而无需放入同一目录?
importantFile.py
import Output
Output.write('This worked!')
Output.py
class Output():
def writeOutput(s):
print s
答案 0 :(得分:1)
如果"打电话"是输出,在Output.py
import sys
import os.path
# change how import path is resolved by adding the subdirectory
sys.path.append(os.path.abspath(os.getcwd()+'/directory1'))
import importantFile
importantFile.f()
sys.path
包含查找模块的路径列表,详细信息请参见https://docs.python.org/2/library/sys.html
答案 1 :(得分:0)
另一种方法是使用相对表示法,您要导入的python文件应该放在包中。
您必须通过放置 init .py文件使目录成为python包。
在此链接中查找包部分。
答案 2 :(得分:0)
import sys
sys.path.append('/full/path/to/use')
global exist_importedname
exist_importedname = True
try:
import myimport
except ImportError as e:
exist_importedname = False
print (e.message)