Die von FTP mit Python ftplib heruntergeladene Datei ist falsch codiertPython

Python-Programme
Guest
 Die von FTP mit Python ftplib heruntergeladene Datei ist falsch codiert

Post by Guest »

Ich rufe eine Datei über FTP auf zwei Arten von einem NAS ab:
  • mit einer .bat-Datei, in der ich Folgendes habe:
    a) ftp -s:C:\TEMP\runTheDownload.txt (Das Skript ruft den Code aus der TXT-Datei auf)

    b) Die .txt-Datei enthält Folgendes:

    Code: Select all

    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
    
  • Ich habe einen Python-Code mit den obigen Eingaben, in dem ich ftplib und den folgenden Code verwende:

    Code: Select all

    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)
    
Wenn ich mir beim ersten Ansatz die Datei „output.txt“ ansehe, erhalte ich vollkommen gute Daten wie 001, abc, 2013230..., die Python-Ausgabe gibt mir jedoch codierte Rückgaben wie:

\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@@@@@@@@@

Ich frage mich, was mir in meinem Python-Code fehlt, um ihn so gut umzuwandeln, wie es mit der .bat-Datei gemacht wird.
Ich habe versucht, es auf verschiedene Arten zu dekodieren, aber es hat mir nie etwas zurückgegeben, das auch nur annähernd wie das richtige Ergebnis aussah. Das Beste, was ich bekam, war die „ISO-8859-1“-Dekodierung, die zu

\x7fððñ\x7fk\x7fððððñðòôù\x7fk\x7fððððððððð...

Ich bin dankbar für Haben Sie Ratschläge, warum die .bat-Datei anders funktionierte oder wie man sie in Python richtig dekodiert?
Vielen Dank!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post