python - 使用相对路径一行导入模块

标签 python python-2.7

我有一个按以下方式在代码中调用的模块:

import sys
sys.path.append("..")
import preprocessor

有没有办法变成一行?

我尝试过但失败了:

from .. import preprocessor

我收到此错误

ValueError: Attempted relative import in non-package

最佳答案

您应该将其作为包运行

这是我的文件结构:

/test
   /path1
     __init__.py
     preprocessor.py
     /path2
         __init__.py
         prog1.py

预处理器.py:

a = 12

prog1.py:

from ..preprocessor import a 
print a

命令行:

 test$   python -m path1.path2.prog1

输出:

 12

关于python - 使用相对路径一行导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33623786/

相关文章:

python - 查询变换球体上的最近点

python - ImportError:无法导入名称argparser

python - Python 3 中的 ModuleNotFoundError 但不是 2

python 列表索引越界

python - 访问python中的所有xml值,其中有几个具有相同的名称

python - 将 tweepy 与 GitHub 项目捆绑在一起

python - 在 Python 中将字节转换为有符号数

python - 两个类在 HTML 中具有相同的名称,BeautifulSoup 仅选择第一个类

python - 在Python中返回反向列表

python - 用逆矩阵替换矩阵的所有元素