这篇文章主要介绍了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程序设计有所帮助。
新闻热点
疑难解答