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