我正在使用python 2.7。我写了一个脚本,我需要从不同文件夹中的其他文件导入一个函数。我的脚本在路径中
C:\python\xyz\xls.py
具有我需要调用的功能的文件路径是
C:\python\abc.py
我试过这样
from python.abc import *
但它不工作。有没有其他方法可以调用该函数,或者我需要将文件移动到同一目录中?请帮忙谢谢
我正在使用python 2.7。我写了一个脚本,我需要从不同文件夹中的其他文件导入一个函数。我的脚本在路径中
C:\python\xyz\xls.py
具有我需要调用的功能的文件路径是
C:\python\abc.py
我试过这样
from python.abc import *
但它不工作。有没有其他方法可以调用该函数,或者我需要将文件移动到同一目录中?请帮忙谢谢
您可以从文件中动态加载模块:
import imp
modl = imp.load_source('modulename', '/path/to/module.py')
imp 模块文档将为您提供更多详细信息。
你 cat 设置 PYTHONPATH 环境变量:
c:\> set PYTHONPATH=c:\python
然后,通常:
from abc import *
或者,如果您不想或无法更改环境,则可以在运行时更改路径:
import sys
sys.path.append(r'c:\Python')
from abc import *
也看看import_file。一些例子:
>>>from import_file import import_file
>>>mylib = import_file('c:\mylib.py')
>>>another = import_file('relative_subdir/another.py')
对于 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()