D
durumdara
Hi!
See this code:
----------------
import os, sys, ftplib
from ftplib import FTP
ftp = FTP()
ftp.connect('ftp.anything.hu', 2121)
ftp.login('?', '?')
print ftp.getwelcome()
ftp.set_pasv(False)
ls = ftp.nlst()
for s in ls:
print "\nFilename:", '"%s"' % s,
fsize = ftp.size(s)
print "Size:", fsize
print "..download:",
d = {}
d['buffer'] = []
d['size'] = 0
d['lastpercentp10'] = 0
def CallBack(Data):
d['size'] = d['size'] + len(Data)
d['buffer'].append(Data)
percent = (d['size'] / float(fsize)) * 100
percentp10 = int(percent/10)
if percentp10 > d['lastpercentp10']:
d['lastpercentp10'] = percentp10
print str(percentp10 * 10) + "%",
ftp.retrbinary("retr " + s, CallBack)
print ""
print "..downloaded, joining"
dbuffer = "".join(d['buffer'])
adir = os.path.abspath("b:\\_BACKUP_")
newfilename = os.path.join(adir, s)
print "..saving into", newfilename
f = open(newfilename, "wb")
f.write(dbuffer)
f.close()
print "..saved"
print "..delete from the server"
ftp.delete(s)
print "..deleted"
#sys.exit()
print "\nFinished"
----------------
This code is login into a site, download and delete all files.
I experienced some problem.
The server is Windows and FileZilla, the client is Win7 and Python2.6.
When I got a file with size 1 303 318 662 byte, python is halt on
"retrbinary" line everytime.
It down all of the file (100%) but the next line never reached.
Some error I got, but this was in yesterday, I don't remember the text
of the error.
I want to ask that have Py2.6 some ftp limitations?
I remembered that Zip have 2 GB limitation, the bigger size of the
archive making infinite loop.
May ftplib also have this, and this cause the problem... Or I need to
add a "NOOP" command in Callback?
Thanks for your help:
dd
See this code:
----------------
import os, sys, ftplib
from ftplib import FTP
ftp = FTP()
ftp.connect('ftp.anything.hu', 2121)
ftp.login('?', '?')
print ftp.getwelcome()
ftp.set_pasv(False)
ls = ftp.nlst()
for s in ls:
print "\nFilename:", '"%s"' % s,
fsize = ftp.size(s)
print "Size:", fsize
print "..download:",
d = {}
d['buffer'] = []
d['size'] = 0
d['lastpercentp10'] = 0
def CallBack(Data):
d['size'] = d['size'] + len(Data)
d['buffer'].append(Data)
percent = (d['size'] / float(fsize)) * 100
percentp10 = int(percent/10)
if percentp10 > d['lastpercentp10']:
d['lastpercentp10'] = percentp10
print str(percentp10 * 10) + "%",
ftp.retrbinary("retr " + s, CallBack)
print ""
print "..downloaded, joining"
dbuffer = "".join(d['buffer'])
adir = os.path.abspath("b:\\_BACKUP_")
newfilename = os.path.join(adir, s)
print "..saving into", newfilename
f = open(newfilename, "wb")
f.write(dbuffer)
f.close()
print "..saved"
print "..delete from the server"
ftp.delete(s)
print "..deleted"
#sys.exit()
print "\nFinished"
----------------
This code is login into a site, download and delete all files.
I experienced some problem.
The server is Windows and FileZilla, the client is Win7 and Python2.6.
When I got a file with size 1 303 318 662 byte, python is halt on
"retrbinary" line everytime.
It down all of the file (100%) but the next line never reached.
Some error I got, but this was in yesterday, I don't remember the text
of the error.
I want to ask that have Py2.6 some ftp limitations?
I remembered that Zip have 2 GB limitation, the bigger size of the
archive making infinite loop.
May ftplib also have this, and this cause the problem... Or I need to
add a "NOOP" command in Callback?
Thanks for your help:
dd