輸出異常/格式化異常
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)
注意:對於複雜的類型,可以通過 dir
和 type
查看如何賦值
對於result,同樣適用,當然,有一份詳細的說明文檔更好!