一套常用工具

sine.utils的Python项目详细描述


正弦函数

常用工具集

工具

类事件管理器

提供事件发送和监听。 使用哈希键标识事件。

deff(key,data):printdatamanager=EventManager()manager.start()# start listenmanager.addListener(key='evnet_key',listener=f)manager.sendEvent(key='evnet_key','print hello')# other methodsmanager.removeListener(key='evnet_key',f)manager.stop()# stop listenmanager.clear()# clear event

类路径

方便以链式方式连接文件路径:

s=Path('.')s=s.join('a','b').join('..')# s == 'a'

它使用os.path.join,并始终使用os.path.normpath
规范化路径。 因为os.path.join加入'a', '..''a/..'

模块属性

以面向行的格式读/写.properties文件
key=value每行{em1}$通过函数。

代码引用了Java 1.6中的java.util.Properties

常用用法

  • 文件I/O:

    # inputproperties=load(file)# or update existing dictionaryload(file,properties)# outputstore(file,properties)
  • 自定义输入:
    class LineReader读取一个键值数据。它跳过所有注释行,
    空行、前导空白和处理多行数据。
    loadSingle(string)将上面给出的每一段数据读入键值。

    forlineinLineReader(file):# each key-value line has no line seperatorkey,value=loadSingle(line)# do something
  • 自定义输出:
    storeComments(writable, comments, linesep=os.linesep))
    写注释(接受多行),可以指定行结束符。
    storeSingle(writable, key, value, sep='=', linesep=os.linesep)
    写一个键值,可以指定分隔符和行结束符。

    storeComments(file,'this is a comment')storeSingle(file,'key','value')

文件格式

通常每一行是注释行或键值对。

主要功能:

  • =:, \t
  • 之一分隔键和值
  • 忽略行首或=:周围的空格
  • 注释行以#!
  • 开头
  • \uxxxx
  • 转义Unicode
  • 通过添加\
  • 来转义特殊字符

其他:

  • 数据行以^{结尾}放弃换行符

与Java的区别:

  • store方法不会写入datetime注释

线程类

deffunc(a,b,stop_event):while1:ifstop_event.is_set():break# do your workthread=StoppableThread(target=func,args=('a','b'))thread.start()# ...thread.stop(-1)# stop and join forever# thread.stopped() == Truethread=ReStartableThread(target=func,args=('a','b'),event_name='stop_event')# can specify the parameter's namethread.start()# ...thread.stop(1)# stop and join for 1 second# ...thread.start()# ...thread.stop()thread.join()# ...

正弦存储

简介

基于字符串键为字符串数据库提供简单可靠的持久性。

更新时,数据更改将像日志记录一样附加到文件中。 数据以csv格式存储。 您可以随时可靠地压缩数据。

示例

# common usestorage=getStorage('./data.csv')author=storage.setdefault('author','sine')storage['author']='Sine'delstorage['author']forkinstorage.keys():print(k,storage[k])# compress datastorage.compress()

更改日志

V0.1.0,2019年7月21日

从现有包中收集:

  • 正弦路径-v0.1.3
  • 正弦螺纹-v0.1.7
  • 正弦事件-v0.0.2
  • 正弦特性-v0.1.1

以及新的“储藏室”。

新闻:

  • eventmanager:更改传递的参数,包括键(就像调用sendEvent一样)
  • 线程:修复关于args追加的问题

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用相同的模型、颜色、字体和侦听器创建JTable的副本?   JavaSpring+Thymeleaf:用户时区中的时间   java HTTP请求返回非法状态异常安卓   java xml验证JDK 1.5 JDK 1.6差异   junit如何使用Parasoft从java文件生成测试文件   java使用getSpans方法获取可扩展文件中的所有跨距   javascript无法使用bindingResult设置表单元素   java RCP应用程序活动   获取Java类中泛型字段的类型   java更新查询,从一个依赖于另一个表的表中更改字段   java错误:GWT类型中的方法setBridge(GWTBridge)不适用于参数(GWTBridge)   为什么java/安卓需要在XML元素的开头有一个空格来解析它?   java通用代码,用于将字符串转换为任何所需的类   java如何创建Liferay钩子以扩展购物车portlet的功能   java Selected()方法存在漏洞   java新行附加在我的加密字符串上   使用NaN值的指数平滑的java   使用飞碟和iText发行的java XHTML到PDF   java如何在不使用HTMLDocument的情况下在JTextPane中显示两列文本?