Bootstrap

python ftplib上传文件出现ftplib.error_perm 550 The parameter is incorrect错误的原因和解决

首先确认服务器没有问题

  1. 其他文件能够上传
  2. 通过网页访问服务器能够正常访问

错误示例

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "app.py", line 104, in ftp_upload
    ret = ftp.storlines('STOR %s' % (os.path.basename(file)), file_handler)
  File "/usr/lib/python2.7/ftplib.py", line 493, in storlines
    conn = self.transfercmd(cmd)
  File "/usr/lib/python2.7/ftplib.py", line 376, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "/usr/lib/python2.7/ftplib.py", line 339, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "/usr/lib/python2.7/ftplib.py", line 249, in sendcmd
    return self.getresp()
  File "/usr/lib/python2.7/ftplib.py", line 224, in getresp
    raise error_perm, resp
ftplib.error_perm: 550 The parameter is incorrect

错误原因

可能是文件名称不规范。

如果文件名称带有冒号,则可能出现错误。

当要上传的目标文件文件名称带有冒号时,会导致识别失败。

解决

将文件名称中的冒号等特殊字符去掉即可。

;