python - 包中 Python 目录的典型命名约定

标签 python directory naming-conventions

问题
我想知道对于计划作为模块导入的 Python 目录的命名是否有标准约定。这意味着该目录包含一个空白的 __init__.py

背景
直到最近,我才很少考虑它,并且完全根据在文件系统级别有意义的内容来命名它。让我陷入困境的是,在文件系统级别有意义的东西对于其他开发人员的独立模块也有意义。考虑以下目录:

+ drivers
    + prologix  
        - __init__.py
        - driver_a.py
        - driver_b.py
    + visa
        - __init__.py  
        - driver_a.py
        - driver_b.py
    __init__.py
    ringout.py <-- simple file to ring-out the drivers  

虽然这在敲出 prologix 的驱动程序时工作正常,但我在尝试导入我的签证驱动程序以及 pyVisa 的“签证”模块时遇到了问题。诊断问题非常容易,但是将我的签证驱动程序的文件夹重命名为“visa_dir”的修复程序使代码更难阅读 (IMO)。

import drivers.visa  

对比

import drivers.visa_dir  

有没有更好的方法来处理这个问题?

最佳答案

每个模块的命名空间都是唯一的,所以即使您有两个名为 visa 的模块,只要您避免将它们导入到具有相同名称的同一个命名空间中,您就不会有任何问题。我倾向于更喜欢绝对导入:

import drivers.visa
import pyVisa.visa

或者你也可以使用as:

from drivers import visa
from pyVisa import visa as pyvisa

...等等请注意导入内容的方式。我更喜欢(作为最终用户)您在包中逻辑地构建模块,而不用担心为我预先处理它们。

关于python - 包中 Python 目录的典型命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955473/

相关文章:

python - 使用 lambda 的递归函数,为什么这不起作用?

python - 第二个最新文件

python - 如何打开多个目录并读取里面的文件

javascript - 返回父原型(prototype)的函数的命名建议

objective-c - Swift:需要类前缀?

python - 根据像素的颜色生成RGB图像的 bool 蒙版的最有效的方法是什么?

python - Django 应用程序在内存中有一个在所有请求之间共享的 Pandas 对象?

python - 用 Peewee 创建的表格似乎消失得无影无踪

java - 如何在外部存储中创建目录?

java - Swing 组件命名约定?