Ich versuche eine einfache Textdatei mit ein paar Zeilen Python-Code in einen Webspace hochzuladen. Die Textdatei "1.txt" besteht zunächst mal aus zwei Zeilen, erstellt mit dem Windows10 Editor.
Dieser Code, den ich für diese Aufgabe im Netz vielfach gefunden habe, liefert mir eine Fehlermeldung.
Code: Alles auswählen
import ftplib
ftp = ftplib.FTP(host,username, passwort)
ftp.cwd("/")
file = open("1.txt","r")
ftp.storlines("STOR 1.txt", file)
ftp.quit()
file.close()
File "z:\HTML\ftp\upload-ftp.py", line 9, in <module>
ftp.storlines("STOR 1.txt", file)
File "C:\Python36-32\lib\ftplib.py", line 538, in storlines
if buf[-1] in B_CRLF: buf = buf[:-1]
TypeError: a bytes-like object is required, not 'str'
Das sieht für mich so aus, als dass eine Binärdatei erwartet wird. Wieso das?
Im Zielverzeichnis ist dann eine Datei "1.txt" vorhanden, aber ohne Inhalt.
Wenn ich den Code ändere in "ftp.storbinary..." funktioniert alles.
Hat jemand dafür eine Erklärung - nur zum Wissen. Wie gesagt, 'irgendwie' funktionierts ja.