从不同的目录导入文件

时间:2012-11-29 08:23:24

标签: python python-2.7

我正在使用python 2.7。我写了一个脚本,我需要从其他文件中导入一个函数,该文件位于不同的文件夹中。 我的脚本在路径

C:\python\xyz\xls.py

具有我需要调用的功能的文件路径是

C:\python\abc.py

我试过这个

from python.abc import *

但它不起作用。有没有其他方法来调用该函数或我需要将文件移动到同一目录?请帮忙 谢谢

5 个答案:

答案 0 :(得分:11)

您可以从文件中动态加载模块:

import imp
modl = imp.load_source('modulename', '/path/to/module.py')

imp module docs会为您提供更多详细信息。

答案 1 :(得分:4)

你设置了PYTHONPATH环境变量:

c:\> set PYTHONPATH=c:\python

然后,通常:

from abc import *

或者,如果您不想或不能更改环境,可以在运行时更改路径:

import sys
sys.path.append(r'c:\Python')
from abc import *

答案 2 :(得分:2)

C:\python

中添加sys.path

还在__init__.py中添加C:\python文件,以便python解释器可以从该文件夹导入文件

你应该浏览link

答案 3 :(得分:1)

还要看import_file。 一些例子:

>>>from import_file import import_file

>>>mylib = import_file('c:\mylib.py')

>>>another = import_file('relative_subdir/another.py')

答案 4 :(得分:0)

对于python 3.5&以上使用此。

import importlib.util
spec = importlib.util.spec_from_file_location("name", "path/to/file")
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.MyClass()