创建一个常用的功能模块

iTa*_*ayb 8 python code-design

我有一个包含几十个不同模块的大项目.我确实有很多常用的功能,我在项目的很多地方都使用过.例如:

  • 检查字符串是否包含希伯来字符
  • 生成随机的8个字母的字符串
  • 猜测二进制数据的图像mime类型
  • 转换HTML权利
  • 等等...

我的问题是:

  • 将所有这些函数放在将从每个代码文件加载的特定模块中是否常规?
  • 这个模块应该有什么名字?common.py?
  • 我的代码被分成不同的包.通常将文件放在根代码文件夹中,并加载一个超出包范围的文件?

Vas*_*nov 8

变化util或utils似乎很常见.就个人而言,如果我有这样的包myproj.foo,myproj.bar等等,我往往有一个myproj.util包,每个意向面积的模块(或许myproj.util.http为Web相关的帮手,myproj.util.data对数据结构操作等).这些帮助程序比主代码更可能被重用,并且清晰地分离到模块中(即使您最终拥有单类或单功能模块)也会使重用变得更加容易.