這篇文章主要介紹了python實現簡單ftp客戶端的方法,涉及ftplib模塊的相關使用技巧,需要的朋友可以參考下
本文實例講述了python實現簡單ftp客戶端的方法。分享給大家供大家參考。具體實現方法如下:
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import ftplib
- import os
- import socket
- HOST = 'ftp.mozilla.org'
- DIRN = 'pub/mozilla.org/webtools'
- FILE = 'bugzilla-3.6.9-to-3.6.10-nodocs.diff.gz'
- def writedata(data):
- f = open(FILE,'wb')
- try:
- f.write(data)
- finally:
- f.close()
- def main():
- try:
- f = ftplib.FTP(HOST)
- except (socket.error, socket.gaierror):
- print 'ERROR:cannot reach " %s"' % HOST
- return
- print '***Connected to host "%s"' % HOST
- try:
- f.login()
- except ftplib.error_perm:
- print 'ERROR: cannot login anonymously'
- f.quit()
- return
- print '*** Logged in as "anonymously"'
- try:
- f.cwd(DIRN)
- except ftplib.error_perm:
- print 'ERRORL cannot CD to "%s"' % DIRN
- f.quit()
- return
- print '*** Changed to "%s" folder' % DIRN
- try:
- #傳一個回調函數給retrbinary() 它在每接收一個二進制數據時都會被調用
- f.retrbinary('RETR %s' %FILE, writedata)
- except ftplib.error_perm:
- print 'ERROR: cannot read file "%s"' %FILE
- os.unlink(FILE)
- else:
- print '*** Downloaded "%s" to CWD' % FILE
- f.quit()
- return
- if __name__ == '__main__':
- main()
希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答