美文网首页Python笔记
Python 笔记之import

Python 笔记之import

作者: Sugeei | 来源:发表于2019-03-05 14:43 被阅读0次

    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
    

    相关文章

      网友评论

        本文标题:Python 笔记之import

        本文链接:https://www.haomeiwen.com/subject/tdsnuqtx.html