PEP8 - import not at top of file with sys.path

7 浏览
0 Comments

PEP8 - import not at top of file with sys.path

问题

PEP8有关将导入放在文件顶部的规则:

导入始终放在文件顶部,紧跟在任何模块注释和文档字符串之后,在模块全局变量和常量之前。

然而,在某些情况下,我可能想要做如下操作:

import sys
sys.path.insert("..", 0)
import my_module

在这种情况下,pep8命令行工具会标记我的代码:

E402 模块级别的导入不在文件顶部

如何以最佳方式实现与sys.path修改的PEP8兼容性?

原因

我有这段代码是因为我在遵循项目结构,该项目结构在Python之旅者指南中给出。

该指南建议我有一个my_module文件夹,与一个tests文件夹分开,两者都在同一个目录中。如果我想从tests访问my_module,我认为我需要将..添加到sys.path中。

0