Ich lerne Web-Programmierung mit Python, und immer noch im Grunde durch Vorlesungen/Tutorial.error_perm: 550 Berechtigung verweigert
Ich versuche, eine Datei auf einen Server hochzuladen. Dies ist mein Code:
import ftplib
import sys
filename = sys.argv[1]
connect = ftplib.FTP("***.**.***.**")
connect.login("testuser","pass")
file = open(filename, "rb")
connect.storbinary("STOR " + filename, file)
connect.quit()
und das ist der Fehler, den ich habe:
File "C:\Users\test\putfile.py", line 8, in <module>
connect.storbinary("STOR " + filename, file)
File "C:\Python27\lib\ftplib.py", line 471, in storbinary
conn = self.transfercmd(cmd, rest)
File "C:\Python27\lib\ftplib.py", line 376, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "C:\Python27\lib\ftplib.py", line 339, in ntransfercmd
resp = self.sendcmd(cmd)
File "C:\Python27\lib\ftplib.py", line 249, in sendcmd
return self.getresp()
File "C:\Python27\lib\ftplib.py", line 224, in getresp
raise error_perm, resp
ftplib.error_perm: 550 Permission denied.
Testuser die Berechtigung Dateien zu schreiben haben sollte, da der Ordner von ihm gehört, und er hat root-Privilegien (wurde in sudoer Datei hinzugefügt).
das gleiche passiert, wenn ich die Zeile:
connect.cwd('/testfolder')
I erhalten error_perm: 550 Verzeichnis ändern fehlgeschlagen.
aber ich kann immer noch die vorhandenen Dateien ganz gut (mit connect.retrlines („RETR“ + Dateiname))
lesen bin ich ziemlich neu zu Python sowie Linux, so habe ich nicht Idee, was ich mache. Ich brauche Hilfe.
Und don‘ t pass ein Variabl e zu 'rebbinary()' oder 'storbinary()', das den Dateipfad hat, in dem Sie die Datei auf Ihrem ** lokalen ** Rechner herunterladen, statt eine Variable mit nur dem Namen der Datei auf dem Server, wie ich es tat. : p – binarysubstrate