萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> python實現簡單ftp客戶端的方法

python實現簡單ftp客戶端的方法

   本文實例講述了python實現簡單ftp客戶端的方法。分享給大家供大家參考。具體實現方法如下:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 #!/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程序設計有所幫助

copyright © 萬盛學電腦網 all rights reserved