如何在python中从文件夹外部访问模块?

How to access a module from outside your file folder in Python?

本问题已经有最佳答案,请猛点这里访问。

如何从其他文件夹访问模块?

文件结构如下:

1
2
3
4
5
6
/
    /config
        __init__.py
        config.py
    /test
        test.py # I'm here

我想从config.py从test.py访问函数。我该怎么做?这是我的进口货:

1
import config.config

当我运行test.py脚本时,它总是会说:

1
ImportError: No module named config.config

我做错什么了吗?


最简单的方法是修改sys.path变量(它定义了导入搜索路径):

1
2
3
4
5
6
# 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 *


您只能导入环境可见的模块。您可以使用这个来检查环境。

1
2
import sys
print sys.path

正如您将看到的,sys.path是一个列表,因此您可以向其追加元素:

1
sys.path.append('/path_to_app/config')

您应该能够导入您的模块。

顺便问一下:关于这个问题有很多问题。


将app目录添加到模块搜索路径。

例如:

1
PYTHONPATH=/path/to/appname python test.py