- с помощью файла .bat, где у меня есть: p>
a) ftp -s:C:\TEMP\runTheDownload.txt (сценарий вызывает код из txt)
b) Файл .txt содержащий следующее:Код: Выделить всё
open some.address.eu username password ascii quote "site SBDataconn=ANOTHER.ADD.RESS.HERE get 'THE.NAS.LOCATION.OF.THE.FILE' C:\TEMP\output.txt
- У меня есть код Python с указанными выше входными данными, в котором я использую ftplib и следующий код:
Код: Выделить всё
with FTP(ftp_server) as ftp: ftp.login(ftp_user, ftp_password) print("Connected to FTP server.") # 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)
\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 ... ncorrectly