时隔几个月我又来问 Python import 的问题了

2018-03-02 21:45:47 +08:00
 MrVito

简单描述一下我的疑惑,因为一个项目有很多目录,所以要先用 sys.path.append("..")将路径添加到 python 的搜索路径中,例如:

import sys
sys.path.append("..")
from dir1 import my_modules

于是乎就出现了如下警告:

module level import not at top of file

虽然不影响,但是我实在是想不通,这样的警告应该如何避免?我必须要先将自己项目的路径添加进去,才能 import 自己的 module,这使我不得不将 import sys 放在最前面。
难道是我对这个报错有什么误解?还是说有什么其他的 module 导入的方法可以避免这个警告吗?

2832 次点击
所在节点    Python
3 条回复
Tony042
2018-03-02 21:54:04 +08:00
我觉得首先目录没规划好吧,module 的目录应该在子目录里面,放在上层感觉架构有问题。如果真的每个文件都用这个 module 的话,可以把这个 module 单独做成一个库
aijam
2018-03-03 13:41:12 +08:00
把修改 sys.path 的两行放到一个另文件里,你的文件里再调用这个文件就可以
cfwyy
2018-03-05 09:19:59 +08:00
本人新手,那个 import 不是支持相对导入的吗?不能直接
from .. package import module 吗?
为啥还要把 .. 加到 path 里去,感觉没这个必要啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/434395

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX