python实用程序的集合
upyls的Python项目详细描述
upyls-python实用程序的集合
现在可以在PyPi上找到这个库 或者只需安装:
pip install upyls
限制列表
一种列表,它可以有一个下限和一个上限集合,并且只能用这些集合所设置的项数来填充 限制
只需导入并实例化它
fromupylsimportLimitedListlimited_list=LimitedList(lower=0,upper=1)
工作单位
martin fowler著作中工作单元模式的实现Patterns of Enterprise Application Architecture
< H3>工作组>< EH3>这个类是一个抽象类(派生自ABC)。它被设计为MIXIN,所以你可以从中派生出你的类。 你的类得到了这个混音的功能 上课。
例如:
fromupylsimportUnitOfWorkMixinclassMyUnitOfWork(UnitOfWorkMixin):<yourcodehere>
新增的功能是跟踪类实例的属性。如果属性发生更改,则将其标记为 肮脏和它的旧价值被保留在新价值之外。
如果您已经保存了实例,则可以调用它的commit方法,它将不再被标记为脏实例和旧实例。 值将被丢弃。就像在数据库事务中一样,您也可以回滚,这意味着旧值被放入 重新就位并丢弃新值。与提交一样,rollback方法也会导致 被标记为肮脏的。
工程管理单位
如果您计划拥有多个要作为工作单元的对象,那么可以方便地管理 全都是。因此,如果您使用的是持久性存储,如数据库或只是磁盘上的存储,则可能不希望保存 单独一个,但要大量保存。在你救了他们之后,你应该标记所有被救的人。为此目的 有一个工作混合单元的导数,它是可管理的和管理类,它公开了 提交或回滚已在管理器中注册的所有可管理工作单元的可能性。两个 类是紧密耦合的,因此将单元与管理器连接的方法通常有两种:如果添加 经理到一个单位,该单位也将向经理登记,如果发生变化,将通知经理。如果 从管理器中注销一个单元,它也将停止使用此管理器进行通知。
< H4>此类是OnWorkFixin的派生,并添加了由UNITOFF WorkMeor管理的功能。 第一个TI功能已经在UNITOFWORKIOMIN中,但是如果不想在A中使用它,它会增加一些杂波。 可管理的方式。所以它变成了一个派生词,它只包含了额外的功能,并且使用了工作单元。 其父级的功能。
工作经理单元
这个类提供管理(可管理)工作单元集合的功能。它会跟踪 已更改的已注册单位,您可以提交所有已更改的单位或将其全部回滚。你可以问 管理者,如果某个单位注册了或它是肮脏的。
多重分析器
ini文件格式已经存在了很长一段时间,在xml和json时代,有些人可能会发现这种格式相当 很古老,但它仍然在许多软件项目中使用。这种格式没有真正的标准,而是一套 定义格式的常见做法。 大多数情况下,ini文件都有一组节,这些节具有与这些节相关联的值的选项:
[section]option=value
python已经用configparser.ConfigParser
实现了一个非常好且丰富的解析器,但是它没有
支持INI文件,这些文件可以有多个同名的节或选项,或者包含顶级节
没有名字。而第二种情况下,可以围绕第一种情况展开,不能用简单的方式。
这可能是一个非常罕见的用例,因为在大多数实现中,部分和选项名称必须是唯一的。但是当墨菲叔叔转过身来
在角落里,作者无意中发现了一个与ini文件的变体通信的服务,它有一个空的
顶层截面A使用相同名称查找多个节以及使用相同名称的选项。看了一眼之后
configparser.ConfigParser
以及如何最好地对其进行子类划分,作者决定采用这些思想和一些代码
把它们变成一个自己的类,而它在某个时候成为
configparser.ConfigParser
。它不是要窃取,而是要以保持
想法和界面。但在某些情况下,由于存在多个项,它的行为有些不同。所以经常
返回可发生多个项的iterables。
这仍在进行中,尚未实现configparser.ConfigParser
的所有可能性。
但基本上是有效的。