Обработка ответа при загрузке по FTPPython

Программы на Python
Ответить
Anonymous
 Обработка ответа при загрузке по FTP

Сообщение Anonymous »

Я получаю файл с NAS через FTP двумя способами:
  • с помощью файла .bat, где у меня есть:
    a) ftp -s:C:\TEMP\runTheDownload.txt (сценарий вызывает код из txt)
    b) Файл .txt, содержащий следующее:
    открыть some.address.eu
    имя пользователя
    пароль
    ascii
    цитировать "сайт SBDataconn=ANOTHER.ADD.RESS.HERE
    получить 'THE.NAS.LOCATION.OF.THE.FILE' C:\TEMP\output.txt
  • У меня есть код Python с указанными выше входными данными, где я использую ftplib и следующий код:
    с FTP(ftp_server) в качестве ftp:
    ftp.login(ftp_user, ftp_password)print("Подключено к FTP-серверу.")

    Код: Выделить всё

         # Set transfer mode to ASCII
    ftp.sendcmd("TYPE A")
    # print("Switched to ASCII mode.")
    
    # Execute the custom FTP command (quote)
    ftp.sendcmd('SITE SBDataconn=ANOTHER.ADD.RESS.HERE')
    print("Custom SITE command executed.")
    
    # Download the file
    with open(local_file, 'wb') as file_obj:
    # Write info to buffer
    ftp.retrbinary(
    f"RETR {remote_file}", file_obj.write)
    
Когда я смотрю на файл output.txt при первом подходе, он дает мне совершенно точные данные, такие как «001», "abc", "2013230"..., однако вывод Python дает мне закодированные результаты, такие как:

\x7f\xf0\xf0\xf1\x7fk\x7f\xf0\xf0\xf0\xf0\xf1\xf0\xf2\xf4\xf9\x7fk\x7f\xf0\xf0\xf 0\xf0\xf0\xf0\xf0\xf0\xf0\x7fk\x7fN\xf0\x7fk\x7f\xf0\xf4\x7fk\x7f\xf0\xf0\x7fk\x7f@@@@@ @@@@@\x7fk\x7f\xd6\xd7\xc3\xe4\xe2\xc5\xd9@\x7fk\x7f\x81\xa4\xa3\x96\x94\x81\xa3\x89\xa 2\x83\x88\x85@\xc5\x89\x95\xa2\xa3\xa4\x86\xa4\x95\x87@`@\xf1K\xf7K\xf2@@@@@@@@@

Мне интересно, чего мне не хватает в моем коде Python, чтобы преобразовать его так, как это делается с помощью файла .bat.
Я пробовал расшифровывать его разными способами, но он так и не дал мне ничего, хотя бы отдаленно похожего на правильный результат. Лучшее, что я получил, это декодирование "ISO-8859-1", которое привело к \x7fððñ\x7fk\x7fððððñðòôù\x7fk\x7fððððððððð...
Я благодарен за любой совет о том, почему файл .bat работал по-другому или как его правильно декодировать в Python.
Большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... p-download
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»