本文實(shí)例講述了python實(shí)現(xiàn)簡單ftp客戶端的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
#!/usr/bin/python# -*- coding: utf-8 -*-import ftplibimport osimport socketHOST = '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: #傳一個(gè)回調(diào)函數(shù)給retrbinary() 它在每接收一個(gè)二進(jìn)制數(shù)據(jù)時(shí)都會(huì)被調(diào)用 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() returnif __name__ == '__main__': main()希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選