Python笔记之import

https://chrisyeh96.github.io/2017/08/08/definitive-guide-python-imports.html#example-directory-structure

有时候,python 处理import 的行为有些诡异。
比如下面的目录结构。
test目录下有一个叫common的目录, test的子目录packA下也有一个同名目录。
当在subA目录下的sa1.py中试图from common.logger import 时发现import的是test目录下的common, 而不是packA目录下的common. 打印sys.path发现test/common路径并不在里面, 反而packA/common是存在的。
为避免纠缠,将packA.common下的logger.py改名为sublogger.py, 再from common.sublogger import 就与期望一致了。

这种问题深究比较费劲, 保险一点的做法还是同一个项目下尽量不要使用同名文件,自己看起来也会更清晰。

test/                      # root folder
    common/
        __init__.py
        logger.py
    packA/                 # package packA
        __init__.py
        common/
            logger.py
        subA/              # subpackage subA
            __init__.py
            sa1.py
            sa2.py
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容