我正在使用python 2.7。我写了一个脚本,我需要从其他文件中导入一个函数,该文件位于不同的文件夹中。 我的脚本在路径
C:\python\xyz\xls.py
具有我需要调用的功能的文件路径是
C:\python\abc.py
我试过这个
from python.abc import *
但它不起作用。有没有其他方法来调用该函数或我需要将文件移动到同一目录?请帮忙 谢谢
答案 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)
答案 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()