n_i_x
20-11-2012, 09:42
Доброго времени суток. Скрипт на Python, который скачивает лечащую утилиту от др.веб. Не могу понять почему при проверке выдаёт ошибку синтаксиса.
P.S. Python обновил до 3.3.0
import ftplib
import time
import shutil
import os
def handleDownload(block):
global downloaded
dwn_file.write(block)
downloaded = downloaded + len(block)
progress = float(downloaded) / size * 100
print '\rDownloading file... | %.2f Mb | %.1f %%' % (downloaded/1024.0/1024, progress),
server = 'ftp.drweb.com'
dir_to_copy = r'\\tools\DrWeb'
try:
ftp = ftplib.FTP(server)
ftp.login()
print 'Connected to FTP', server
except:
print 'Failed to connect to FTP', server
print 'Exit from script!'
exit()
ftp.cwd('pub/drweb/cureit')
file_list = ftp.nlst()
ident_part = time.strftime('%Y', time.localtime())
filter_list = [i for i in file_list if i[-4:] != '.exe' and i.find(ident_part) == 0]
filter_list.sort(reverse=True)
foldername = filter_list[0]
ftp.cwd(foldername)
file_list = ftp.nlst()
filename = file_list[0]
size = ftp.size(filename)
downloaded = 0
try:
print 'Filename:', filename
print 'Filesize: %.2f Mb' % (size/1024.0/1024)
print 'Starting download:', time.strftime('%H:%M:%S', time.localtime())
dwn_file = open(filename, 'wb')
ftp.retrbinary('RETR ' + filename, handleDownload)
print 'Download complete: ', time.strftime('%H:%M:%S', time.localtime())
dwn_file.close()
time.sleep(2)
new_name = '\CureIt-' + foldername[:8] + '.exe'
shutil.move(os.path.abspath(filename), dir_to_copy + new_name)
except:
print 'Error download file...'
ftp.quit()
P.S. Python обновил до 3.3.0
import ftplib
import time
import shutil
import os
def handleDownload(block):
global downloaded
dwn_file.write(block)
downloaded = downloaded + len(block)
progress = float(downloaded) / size * 100
print '\rDownloading file... | %.2f Mb | %.1f %%' % (downloaded/1024.0/1024, progress),
server = 'ftp.drweb.com'
dir_to_copy = r'\\tools\DrWeb'
try:
ftp = ftplib.FTP(server)
ftp.login()
print 'Connected to FTP', server
except:
print 'Failed to connect to FTP', server
print 'Exit from script!'
exit()
ftp.cwd('pub/drweb/cureit')
file_list = ftp.nlst()
ident_part = time.strftime('%Y', time.localtime())
filter_list = [i for i in file_list if i[-4:] != '.exe' and i.find(ident_part) == 0]
filter_list.sort(reverse=True)
foldername = filter_list[0]
ftp.cwd(foldername)
file_list = ftp.nlst()
filename = file_list[0]
size = ftp.size(filename)
downloaded = 0
try:
print 'Filename:', filename
print 'Filesize: %.2f Mb' % (size/1024.0/1024)
print 'Starting download:', time.strftime('%H:%M:%S', time.localtime())
dwn_file = open(filename, 'wb')
ftp.retrbinary('RETR ' + filename, handleDownload)
print 'Download complete: ', time.strftime('%H:%M:%S', time.localtime())
dwn_file.close()
time.sleep(2)
new_name = '\CureIt-' + foldername[:8] + '.exe'
shutil.move(os.path.abspath(filename), dir_to_copy + new_name)
except:
print 'Error download file...'
ftp.quit()