如何在Python中从外部访问模块?
我该如何访问另一个文件夹里的模块呢?
这是文件结构:
/<appname>
/config
__init__.py
config.py
/test
test.py # I'm here
我想从 test.py
里访问 config.py
的函数。我该怎么做呢?
这是我的导入方式:
import config.config
当我运行 test.py
脚本时,它总是会显示:
ImportError: No module named config.config
我是不是做错了什么?
3 个回答
12
把应用程序的目录添加到模块搜索路径中。
比如说:
PYTHONPATH=/path/to/appname python test.py
20
你只能导入在你环境中可见的模块。你可以用这个方法来检查你的环境。
import sys
print sys.path
你会发现 sys.path 是一个列表,所以你可以往里面添加元素:
sys.path.append('/path_to_app/config')
这样你就应该能够导入你的模块了。
顺便说一下,这个问题有很多人问过。
60
最简单的方法就是修改一下 sys.path
这个变量(它定义了导入模块时的搜索路径):
# Bring your packages onto the path
import sys, os
sys.path.append(os.path.abspath(os.path.join('..', 'config')))
# Now do your import
from config.config import *