Vor*_*t3x 49 python import external python-module
我有一个模块foo,包含util.py和bar.py.
我想在IDLE或python会话中导入它.我该怎么做?
我找不到关于如何导入不在当前目录或默认python PATH中的模块的文档.尝试后import "<full path>/foo/util.py",和from "<full path>" import util
我能得到的最接近的是
import imp
imp.load_source('foo.util','C:/.../dir/dir2/foo')
Run Code Online (Sandbox Code Playgroud)
这给了我在Windows 7上的权限被拒绝.
phi*_*hag 68
一种方法是简单地修改你的路径:
import sys
sys.path.append('C:/full/path')
from foo import util,bar
Run Code Online (Sandbox Code Playgroud)
请注意,这需要foo成为python包,即包含__init__.py文件.如果您不想修改sys.path,还可以修改PYTHONPATH环境变量或在系统上安装模块.请注意,这意味着.py可能无意中加载该目录中的其他目录或文件.
因此,您可能想要使用imp.load_source.它需要文件名,而不是目录(允许当前用户读取的文件):
import imp
util = imp.load_source('util', 'C:/full/path/foo/util.py')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91279 次 |
| 最近记录: |