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,同樣適用,當然,有一份詳細的說明文檔更好!

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