我不知道我做错了什么,但是这个小的ftp代码不会传输文件。我一直在
文件“example.py”,第11行,在? ftp.storlines(“STOR”+文件,打开(文件))
ftplib.error_perm:550 /home/helen/docs/example.txt:不允许操作
以下是代码:
import ftplib
file = '/home/helen/docs/example.txt'
ftp = ftplib.FTP('domain', 'user', 'password')
print "File List: "
files = ftp.dir()
ftp.cwd("/upload/")
ftp.storlines("STOR " + file, open(file))
f.close()
s.quit()
任何帮助都将不胜感激。
答案 0 :(得分:6)
我认为您得到的错误是您将整个文件路径添加到storlines()
调用中的第一个参数。相反,只需指定文件名本身:
import os
ftp.storlines("STOR " + os.path.basename(file), open(file))
您可能需要考虑将file
更改为filepath
,因为这就是它的真实含义(此外,您将不再隐藏内置函数和同名的类型)。< / p>
答案 1 :(得分:0)
550错误字面意思是根据维基百科“550请求的行动未采取。文件不可用(例如,文件未找到,无法访问)。”
http://en.wikipedia.org/wiki/List_of_FTP_server_return_codes
你确定你拥有正确的权限吗?
试试这个
ftp = ftplib.FTP('domain')
ftp.login('user','pass')
我认为对象的创建只是有点紧张。