本文实例讲述了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程序设计有所帮助。