python入门_02

python入门_02

ID:36667726

大小:282.56 KB

页数:14页

时间:2019-05-13

python入门_02_第1页
python入门_02_第2页
python入门_02_第3页
python入门_02_第4页
python入门_02_第5页
资源描述:

《python入门_02》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Python語言進階第一天•程式間的溝通:Pipes•探詢他人的webserver:http•網頁分析:HTML•合併http和HTML:以網站統計為例•送信給許多朋友:smtp•Web應用:cgi程式間的溝通:Pipes•每個程式有預設的資料管:標準輸入(stdin)、標準輸出(stdout)、標準診斷(stderr)•每個管子的資料流都是單向的•台灣水電工:把管子接起來popen(),popen2(),popen3()•可以用pythonscript去控制互動式介面的應用軟體,例如:Gnuplot•在互動應用上加上批次處理功能1探詢他人的webse

2、rver:httplib•範例:1importsys,httplib2defprobe(host):3'''probethewebserverprogramofahost'''4h=httplib.HTTP()5h.set_debuglevel(0)6dict={'ETag':''}#default(someserversdon'treturnthis)7try:8h.connect(host)9h.putrequest('GET','/')10h.endheaders()11status,reason,headers=h.getreply()12if

3、headers:13#printheaders14forheaderinheaders.headers:15line=header.strip()16index=line.find(':')17ifindex==-1:raise'FormatError'18dict[line[0:index]]=line[index+2:]19except:20dict['Server']='Unknown'21return'%s,%s,%s'%(host,dict['ETag'],dict['Server'])2223if__name__=="__main__":2

4、4iflen(sys.argv)<2:25sys.stderr.write('%shost(s)...'%sys.argv[0])26sys.exit(0)27forhostinsys.argv[1:]:28printprobe(host)29•剛剛才發現:從python2.0開始HTTPclass是為了後向相容而留下的,新程式請用urllib。讀取網頁:urllib模組1>>>importurllib2>>>page=urllib.urlopen('http://www.python.org')3>>>content=page.read()4>>

5、>page.close()•urlopen()傳回類似檔案的物件,有read(),readline(),readlines(),fileno(),close(),info()和geturl()等取用方法。•也可以讀ftp協定的URL•POST資料到網頁:引數data=(用urllib.urlencode()來準備application/x-www-form-urlencoded型態的引數)21>>>importurllib2>>>dict={'name':'葉平','email':'pyeh@phys.ntu.edu.tw'}3>>>args=urll

6、ib.urlencode(dict)4>>>printargs5'name=%B8%AD%A5%AD&email=pyeh%40phys.ntu.edu.tw'6>>>page=urllib.urlopen('http://myweb.net/',data=args)7>>>content=page.read()8>>>page.close()•有proxy:引數proxies=1>>>importurllib2>>>myproxy={'http':'http://proxy.ntu.edu.tw:3128','ftp':'ftp://some.whe

7、re'}3>>>page=urllib.urlopen('http://www.python.org',proxies=myproxy)4>>>content=page.read()5>>>page.close()urllib模組(II)•可以取代httplib程式的函式:page.info()•傳回mimetools.Message類別的物件•不過mimetools模組在Python2.3中作廢了,說是要用email模組取代,但使用介面似乎不完全相同1>>>...2>>>page=urllib.urlopen('http://www.python.o

8、rg/')3>>>m=page.info()4>>>printm.dict5{'date':'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。