Python UTILS

yxp的Python项目详细描述


在python2.7和python3.4中测试。

卡利特

您可以这样做:

from __future__ import print_function

print('x', 'y', sep=',')

但我做不到:

from __future__ import print_function

parameters = ('x', 'y', sep=',')
print(parameters)

有了Callit,我可以做类似的事情:

from __future__ import print_function
from yxpy.callit import CallIt

parameters = CallIt('x', 'y', sep=',')
parameters(print)

有时,您可以使用参数(类似于callit):

from __future__ import print_function
from yxpy.callit import Parameters

parameters = Parameters('x', 'y', sep=',')
parameters(format)

是否

通常,字典可以这样使用:

d = dict(a=1)
d['b'] = 2
x = d['a'] + d['b']

字典中的成员只能通过[]访问,但在其他一些字典中 语言(如javascript),它们可以通过

访问
d.b = 2
x = d.a + d.b

有了doit,你可以用同样的方式做同样的事情,doit提供 上课去做。

点滴:

from dotit import DotDict
d = DotDict(a=1)
d.b = 2
x = d.a + d.b

dotOrderedDict,从集合继承。orderedDict:

...     # similar to DotDict

dodit,如果您已经有一个类似dict的对象,可以用dodit包装:

d = dict(a=1, b=2)
...
d = DotIt(d)
x = d.a + d.b

它还可以处理嵌套指令:

d = dict(a=dict(aa=1, ab=2), b=2)
...
d = DotIt(d)
x = d.a.aa + d.a.ab

加载

加载或重新加载python对象

导入模块:

import loadit

加载模块:

mod = loadit.load_it('mymodule')

加载功能:

func = loadit.load_it('mymodule.func')

加载类:

MyClass = loadit.load_it('mymodule.MyClass')

重新加载模块:

new_mod = loadit.reload_it(mod)

重新加载功能:

new_func = loadit.reload_it(func)

重新加载类:

NewMyClass = loadit.reload_it(MyClass)

yamlfile

从yaml文件加载配置,添加include标记。

main.yaml:

a: !include a.yaml

山药:

name: a

用法:

from yxpy import yamlfile

yamlfile.load('main.yaml')

日志处理程序

  • sockethandler(主机,端口)
  • datagramhandler(主机,端口)
  • redisthandler(list_name,list_maxsize=1024,host='localhost',port=6379,password=none)
  • redispublishhandler(self,channel,host='localhost',port=6379,password=none)

sockethandler&datagramhandler

日志包提供了许多处理程序,包括 datagramhandler,但发送到服务器的数据打包为二进制文件,这 模块privide simular处理程序将纯文本传输到服务器。

示例:

socket_handler = SocketHandler(host, port)
...
datagram_handler = DatagramHandler(host, port)
...

redisthandler&redispublishhandler

使用redis作为日志服务器,两个处理程序只提供一个单独的redis路径。 服务器。为了保持简单,处理程序会检查redis的响应。

示例:

handler = RedisListHandler(list_name=’logtest’, list_maxsize=100, password=’test’) … handler = RedisPublishHandler(channel=’logtest’, password=’test’) …

更改

0.1.5(2014-10-11)

  • 重构:在重新加载中导入语句

0.1.3(2014-09-26)

  • 是否支持嵌套指令。

0.1.2(2014-09-26)

  • 添加dodit:include dodit,dotdict,dotOrderedDict

0.1.1(2014-09-19)

  • 添加日志处理程序: -短袜工 -数据记录器 -重新发现处理程序 -重新发布处理程序

0.1.0(2014-09-18)

  • 卡利特
  • 加载
  • yamlfile

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

推荐PyPI第三方库


热门话题
尝试连接到Red5服务器时出现java问题   java实现Runnable的类被认为是ExecutorServices的“Runnable任务”?   java struts2类中的多个@validation   java未能应用插件[class'org.gradle.api.plugins.scala.ScalaBasePlugin']:gradle v2。13   如何使用Java流仅收集长度最大的元素?   从spring引导应用程序连接到firestore的java引发空指针异常   java从SQLite插入和获取真实数据类型会为连续插入获取空值吗?   当存在未知数量的空格时,使用java替代正向查找   部署如何为当今的浏览器部署java小程序(小程序、嵌入、对象)?   @OneToMany和@ManyToOne@Formula之间的java双向关系返回null   java为什么在我的例子中,协议缓冲区的性能比JSON差?   如何部署混合C++/Java(JNI)应用程序?   java如何在程序中显示字符串的完整信息。反恐精英?   java在Hibernate中从持久性上下文中分离实体中的实体