python 常用库整理(traceback、frozenset、webservice)

输出异常/格式化异常

traceback

import traceback

try:
    1/0
except Exception, e:
    print traceback.format_exc(e)

固定的集合

frozenset

s = frozenset(["a", "b", "c"])
print [ item for item in dir(s) if not str(item).startswith("__")]
# 里面没有对集合修改的方法

webservice 的调用

这里主要是用到了suds这个库
使用方式很简单。
查看基本信息:里面包括地址,端口上面的方法以及一些数据结构
这里直接是print就可以查看了

import suds
wsdl_url = "http://open.btdair.com:8099/LogisticsService.svc?wsdl"  # 这里是一个物流的接口
print suds.client.Client(wsdl_url)

方法调用以及参数传递
方法调用:通过上面可以查看到一些方法定义和参数的类型,然后就可以像下面一样使用

import suds
client = suds.client.Client("http://xxx.com/xxx.svc?wsdl")

# 方法调用
result = client.service.getSomething()

# 参数使用
# 简单参数,直接使用
# 复杂参数先构造,然后通过类型对象的属性进行赋值
# 如下:
al = client.factory.create("ArrayOfLong")
print dir(al)
al.long = [long(123), long(456)]
result = client.service.postSomething(al)

注意:对于复杂的类型,可以通过 dirtype 查看如何赋值
对于result,同样适用,当然,有一份详细的说明文档更好!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章