Ada*_*wis 10 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
Run Code Online (Sandbox Code Playgroud)
虽然在打开prologix的驱动程序时工作正常,但在尝试导入我的签证驱动程序以及pyVisa的"签证"模块时遇到了问题.诊断问题非常容易,但将签证驱动程序的文件夹重命名为"visa_dir"的修复程序使代码更难以阅读(IMO).
import drivers.visa
Run Code Online (Sandbox Code Playgroud)
VS
import drivers.visa_dir
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来处理这个?
每个模块的命名空间都是唯一的,所以即使你有两个模块visa,只要你避免将它们导入到具有相同名称的同一命名空间中,你就不会遇到任何问题.我倾向于选择绝对进口:
import drivers.visa
import pyVisa.visa
Run Code Online (Sandbox Code Playgroud)
或者您也可以使用as:
from drivers import visa
from pyVisa import visa as pyvisa
Run Code Online (Sandbox Code Playgroud)
...等等.要小心你如何导入东西.我更喜欢(作为最终用户)在您的软件包中逻辑地构建模块,而不用担心为我预先修改它们.
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |