Python FTP不会传输

时间:2013-05-17 16:37:52

标签: python ftp

我不知道我做错了什么,但是这个小的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()

任何帮助都将不胜感激。

2 个答案:

答案 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')

我认为对象的创建只是有点紧张。