С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 09.08.2017
Сообщений: 1

FTP скрипты

09.08.2017, 12:31. Показов 2296. Ответов 1

Студворк — интернет-сервис помощи студентам
Приветствую!

Перерыв сотни сайтов, с самыми невообразимыми кодами, и попробовав вставить код прогресс-бара чуть ли не во все части скрипта, ничего путного не получилось.
Скрипт работает, но не видно статус обрабатываемого файла, что, конечно же, не есть хорошо. Итак.
Имеется: скрипт для загрузки на FTP-сервер, также скрипт для выгрузки из FTP-сервера. Оба рабочие.
Вопрос: 1. Как можно и куда вставить блок прогресс-бара для отслеживания процентов обработки файлов?
2. Иногда файл загружается на сервер и выгружаются из него с нулевым объёмом, но это не столь часто. Есть ли возможность пофиксить это?

Конечно же, в целях безопасности, логин и пароль заменены. Вход анонимно, естественно, запрещён.
Следом прилагаю скрипты.
Это для скачивания из сервера.
Python
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
import ftplib  
import os  
import sys  
import traceback  
  
print ("Logging in...")  
ftp = ftplib.FTP('ftp.ruptly.tv')
ftp.connect('ftp.ruptly.tv')
print (ftp.getwelcome())
try:
    try:  
        ftp.login('user', 'passwd')  
        ftp.cwd('/Ruptly Branded/RAW/Ruptly HEAD/OUT/')
        ftp.retrlines('LIST')
        fullname = 'Thumbs.db' 
        totalSize = ftp.size(fullname)
        print ("You want to download:", fullname)
        print ("Total size is:", totalSize, "Bytes")
        print ("Currently in:"), ftp.pwd()
        print ("Uploading..."),
        name = os.path.split(fullname)[1]  
        f = open(fullname, "rb")
        ftp.storbinary('STOR ' + name, f)  
        f.close()
        local_fullname = os.path.join(r'D:\Video', fullname)
        lf = open(local_fullname, "wb")
        ftp.retrbinary("RETR " + fullname, lf.write, 8*1024)
        lf.close()
        print ("OK") 
        print ("Files:")  
        print (ftp.retrlines('LIST'))
    finally:  
        print ("Quitting...")  
        ftp.quit()  
except:  
    traceback.print_exc()

Это для закачки на сервер.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import ftplib
 
server = 'ftp.ruptly.tv'
user = 'user'
passwd = 'passwd'
directory = 'D:\Map 1.aep'
ftp_connection = ftplib.FTP(server, user, passwd)
 
remote_path = '/Ruptly Branded/RAW/'
ftp_connection.cwd(remote_path)
 
fh = open(directory, 'rb')
ftp_connection.storbinary('STOR Map 1.aep', fh)
fh.close()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.08.2017, 12:31
Ответы с готовыми решениями:

Скрипты, скрипты и еще раз скрипты
Всем привет. Продаю скрипты различных сайтов, а также занимаюсь реализацией ваших. На данный момент их около 50. Некоторые из них: ...

Как скрипты видят другие скрипты, которые были объявлены ранее?
Может кто-нибудь объяснить как реализовано то, что у нас скрипт, который был заинклуден в html страницу видит функции скриптов, которые...

Не отключаются скрипты на персонаже при вызове паузы. Конфликтуют скрипты
Добрый вечер. Прошу помочь в проблеме. В скриптах для инвентаря и паузы разместил метод, он практически не отличается (указан ниже). Но...

1
224 / 209 / 63
Регистрация: 26.05.2011
Сообщений: 363
10.08.2017, 08:46
Как-то так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import os
import ftplib
from tqdm import tqdm
 
server = 'ftp.ruptly.tv'
user = 'user'
passwd = 'passwd'
fname = 'D:\Map 1.aep'
ftp = ftplib.FTP(server, user, passwd)
 
remote_path = '/Ruptly Branded/RAW/'
ftp.cwd(remote_path)
 
filesize = os.path.getsize(fname)
tqdm_instance = tqdm(unit='blocks', unit_scale=True, leave=False, miniters=1, 
                     desc='Uploading...', total=filesize)
 
def progress(sent):
    tqdm_instance.update(len(sent))
 
with open(directory, 'rb') as f
    ftp.storbinary('STOR ' + fname, f, callback=progress)
ЗЫ. Не проверял
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.08.2017, 08:46
Помогаю со студенческими работами здесь

Баннерные скрипты, скрипты посещаемости
Всем привет,хотелось бы узнать как организовать баннерную систему у себя на сайте,такую чтобы считывала количество кликов по банеру,ставила...

FTP клиент не видит файлы. Как правильно настроить FTP-сервер?
Здравствуйте. Имеется выделенный сервер с Ubuntu 20.04. Установил и запустил vsftpd. vsftpd.conf (не закомментированные строчки): ...

Как перевести обращение к ftp-серверу в Интернете на домашний ftp-сервер?
Сервер LAMP поднимал , но интересует такой вопрос , сделать UPLOAD . Взять сервер на хостинге , а дома поднять HOME сервер . Смысл...

WPF Загрузка файлов по FTP. Права доступа на папки FTP
Есть функция для загрузки файлов на FTP сервер: private bool FTPUploadFile(string filename, string op, string username, string pass) ...

FTP соединение: при попытке захода на FTP сервер выходит исключение WebException
задача написать клиент для соединения с FTP сервером, при попытке соединения на сервер без требования учетных данных, то есть anonimous,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru