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

如何在Python中从文件文件夹外部访问模块?,python,Python,如何从其他文件夹访问模块 以下是文件结构: /<appname> /config __init__.py config.py /test test.py # I'm here 当我运行test.py脚本时,它总是说: ImportError: No module named config.config 我做错什么了吗?将应用程序目录添加到模块搜索路径 例如: PYTHONPATH=/path/to/appname p

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

以下是文件结构:

/<appname>
    /config
        __init__.py
        config.py
    /test
        test.py # I'm here
当我运行
test.py
脚本时,它总是说:

ImportError: No module named config.config

我做错什么了吗?

将应用程序目录添加到模块搜索路径

例如:

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

Yo只能导入环境可见的模块。您可以使用此选项检查环境

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

sys.path.append('/path_to_app/config')
您应该能够导入您的模块


顺便说一句:这方面有很多问题。

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


您可以使用
os.path
sheanigans在相对路径上移动。这里的“.”是什么?在处理相对路径时,请解释它是“up one directory”的标准路径语义。如果您想up 2 directory,只需将“..”替换为“....”。嗯,不完全是这样。这在
连接
块中。所以你要做
join(“…”、“…”、“config”)
你是一个传奇!
sys.path.append('/path_to_app/config')
# 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 *