Однажды передо мной встала задача копирования большого количества файлов с ftp-сервера. Нужно было делать бэкап. Казалось бы, что может быть проще! Но увы, ничего готового работающего так же быстро для моих условий найти не удалось.
Читать далееОднажды передо мной встала задача копирования большого количества файлов с ftp-сервера. Нужно было делать бэкап. Казалось бы, что может быть проще! Но увы, ничего готового работающего так же быстро для моих условий найти не удалось.
Читать далееПодробной статьи для чайников я не нагуглил, даже на php, а ftp-uploader написать было необходимо. Поэтому приведу куски кода, которые мне помогли. Во-первых, нам надо залогиниться, юзаем опцию:
# userpwd = "login:parol" curl.setopt(pycurl.USERPWD,userpwd)
Во-вторых нам надо заливать файлы, делается это так:
size = os.path.getsize(path) fp = open(path,"rb") # url = ftp://ftp.host.com/directory/file.txt curl.setopt(pycurl.URL,url) curl.setopt(pycurl.UPLOAD,1) curl.setopt(pycurl.INFILE,fp) curl.setopt(pycurl.INFILESIZE,size) curl.perform()
В-третьих, нам надо создавать папки, а для этого нужно юзать команды ftp. Делается это так:
quote = "MKD {0}".format(folder) curl.setopt(pycurl.URL,host) curl.setopt(pycurl.POSTQUOTE,[quote]) curl.setopt(pycurl.UPLOAD,0) curl.perform()
Пока всё, этого мне хватило, чтобы написать uploader. Пришлось немного попариться при со
Подробной статьи для чайников я не нагуглил, даже на php, а ftp-uploader написать было необходимо. Поэтому приведу куски кода, которые мне помогли. Во-первых, нам надо залогиниться, юзаем опцию:
# userpwd = "login:parol" curl.setopt(pycurl.USERPWD,userpwd)
Во-вторых нам надо заливать файлы, делается это так:
size = os.path.getsize(path) fp = open(path,"rb") # url = ftp://ftp.host.com/directory/file.txt curl.setopt(pycurl.URL,url) curl.setopt(pycurl.UPLOAD,1) curl.setopt(pycurl.INFILE,fp) curl.setopt(pycurl.INFILESIZE,size) curl.perform()
В-третьих, нам надо создавать папки, а для этого нужно юзать команды ftp. Делается это так:
quote = "MKD {0}".format(folder) curl.setopt(pycurl.URL,host) curl.setopt(pycurl.POSTQUOTE,[quote]) curl.setopt(pycurl.UPLOAD,0) curl.perform()
Пока всё, этого мне хватило, чтобы написать uploader. Пришлось немного попариться при со
Публикации русскоязычной python-блогосферы с меткой ftp Здесь вы можете посмотреть список блогов, по которым производится мониторинг новых публикаций. Если вы хотите добавить новый блог, пожалуйста, заполните форму.