我正在学习使用Python进行网络编程,而且基本上还是要通过讲座/教程。error_perm:550权限被拒绝
我试图上传文件到服务器。这是我的代码:
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()
,这是错误我:
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应该有写文件的权限,因为该文件夹是由他拥有,他有root权限(被添加到sudoer文件中)。
同样的事情发生,如果我添加一行:
connect.cwd('/testfolder')
我会得到error_perm:550无法更改目录。
但是我仍然可以读取现有的文件就好了(用 connect.retrlines(“RETR” +文件名))
我很新的Python以及Linux,所以我没有知道我在做什么。我需要一些帮助。
和Don”通过变量e到具有文件路径的“retrbinary()”或“storbinary()”,这些文件路径将在您的本地**机器上下载文件,而不是仅仅通过文件名服务器,就像我一样。 :p – binarysubstrate