Найти - Пользователи
Полная версия: Загрузка папки со всех содержимым на ftp
Начало » Network » Загрузка папки со всех содержимым на ftp
1
pyOut
Приветствую,

Помогите кодом. Нужно написать чтобы выбранная мною локальная папка заливалась на сервер со всем содержимым(подпапки в том числе). В сети нашел код только для залития файлов.
regall
pyOut
Помогите кодом. Нужно написать чтобы выбранная мною локальная папка заливалась на сервер со всем содержимым(подпапки в том числе). В сети нашел код только для залития файлов.
Нужно делать рекурсивный проход по папке/подпапкам и по одному заливать.
pyOut
regall, было бы лучше если бы ты предложил бы код :)
Вот что я написал, но при этом директории не создаются и не заливаются вместе с их содрежимым
import os, ftplib, operator 

handle = ftplib.FTP()
handle.connect('host', 21)
handle.login('user', 'pass')
handle.cwd('/WWW/')

local_path = '/some/folder/'

def ftp_upload(handle, filename):
f = open(filename, "rb")
(base, ext) = os.path.splitext(filename)
picext = ".bmp .jpg .jpeg .dib .tif .tiff .gif .png"
if(operator.contains(picext, ext)):
try:
handle.storbinary("STOR " + os.path.basename(filename), f, 1)
except Exception:
print "Failure upload."
else:
print "Successful upload."
f.close()
return

try:
handle.storbinary("STOR " + os.path.basename(filename), f)
except Exception:
print "Failure upload."
else:
print "Successful upload."
f.close()
return

for root, dirs, files in os.walk(local_path):
for name in files:
fullname = os.path.join(root, name)
#remote_path = fullname.replace(local_path, '')
ftp_upload(handle, fullname)
bazooka
pyOut
if(operator.contains(picext, ext)):
if ext in picext: # непроще?
igor.kaist
А как насчет модуля ftputil, который позволяет работать с ftp практически так же, как и с файловой системой?
документация на русском
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB