Sto imparando la programmazione Web con Python e sto ancora passando attraverso lezioni/tutorial.error_perm: 550 Autorizzazione negata
Sto tentando di caricare un file su un server. Questo è il mio codice:
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()
e questo è l'errore che ho:
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 dovrebbe avere il permesso di scrittura di file, dal momento che la cartella è di proprietà di lui, e lui ha i privilegi di root (è stato aggiunto nel file sudoer).
la stessa cosa accade se si aggiunge la linea:
connect.cwd('/testfolder')
mi metterò error_perm: 550 Impossibile cambiare directory.
Tuttavia posso ancora leggere i file esistenti solo fini (con connect.retrlines ("RETR" + nome del file))
sono abbastanza nuovo su Python così come Linux, in modo da non avere idea quello che sto facendo. Ho bisogno di aiuto.
E don' passare un variabl a 'retrbinary()' o 'storbinary()' che ha il percorso del file in cui stai andando a scaricare il file sul tuo ** local ** machine, invece di passare una variabile con solo il nome del file sul server, come ho fatto io. : p – binarysubstrate