从目录内部调用目录外的文件 - Python

时间:2015-09-16 17:19:23

标签: python

我有一个包含所有文件的目录:

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

3 个答案:

答案 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包。

在此链接中查找包部分。

https://docs.python.org/2/tutorial/modules.html

答案 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)