6

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

C:\python\xyz\xls.py

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

C:\python\abc.py

我试过这样

from python.abc import *

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

4

5 回答 5

11

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

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

imp 模块文档将为您提供更多详细信息。

于 2012-11-29T08:28:22.507 回答
4

你 cat 设置 PYTHONPATH 环境变量:

c:\> set PYTHONPATH=c:\python

然后,通常:

from abc import *

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

import sys
sys.path.append(r'c:\Python')
from abc import *
于 2012-11-29T08:26:57.977 回答
2

加入C:\python_sys.path

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

你应该通过链接

于 2012-11-29T08:27:12.943 回答
1

也看看import_file。一些例子:

>>>from import_file import import_file

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

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

于 2012-11-29T08:30:56.383 回答
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()
于 2017-06-21T10:38:34.243 回答