python中ftp上传文件错误的解决方法

python中ftp上传文件错误的解决方法,python,ftp,Python,Ftp,我在python2.7中有这段代码,用于通过ftp在服务器上上传photos.zip文件 import ftplib session = ftplib.FTP('server.address.com','USERNAME','PASSWORD') file = open('c:\archived\photos.zip','rb') # file to send session.storbinary('STOR photos.zip', file)

我在python2.7中有这段代码,用于通过ftp在服务器上上传photos.zip文件

import ftplib
session = ftplib.FTP('server.address.com','USERNAME','PASSWORD')
file = open('c:\archived\photos.zip','rb')                  # file to send
session.storbinary('STOR photos.zip', file)                 # send the file
file.close()                                                # close file and FTP
session.quit()
但我有一个错误:

raceback (most recent call last):
File "a.py", line 24, in <module>
file = open('c:\archived\photos.zip','rb')
IOError: [Errno 22] invalid mode ('rb') or filename: 'c:\archived\photos.zip'
但我得到了这个错误:

Traceback (most recent call last):
  File "s.py", line 28, in <module>
    session.storbinary('s.zip', file)
  File "C:\Users\0xuser\Anaconda2\lib\ftplib.py", line 479, in storbinary
    conn = self.transfercmd(cmd, rest)
  File "C:\Users\0xuser\Anaconda2\lib\ftplib.py", line 378, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "C:\Users\0xuser\Anaconda2\lib\ftplib.py", line 341, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "C:\Users\0xuser\Anaconda2\lib\ftplib.py", line 251, in sendcmd
    return self.getresp()
  File "C:\Users\0xuser\Anaconda2\lib\ftplib.py", line 226, in getresp
    raise error_perm, resp
ftplib.error_perm: 500 Unknown command.
回溯(最近一次呼叫最后一次):
文件“s.py”,第28行,在
session.storbinary('s.zip',文件)
文件“C:\Users\0xuser\Anaconda2\lib\ftplib.py”,第479行,以storbinary格式
conn=self.transfercmd(cmd,rest)
文件“C:\Users\0xuser\Anaconda2\lib\ftplib.py”,第378行,在transfercmd中
返回self.ntransfercmd(cmd,rest)[0]
文件“C:\Users\0xuser\Anaconda2\lib\ftplib.py”,第341行,在ntransfercmd中
resp=self.sendcmd(cmd)
文件“C:\Users\0xuser\Anaconda2\lib\ftplib.py”,第251行,在sendcmd中
返回self.getresp()
文件“C:\Users\0xuser\Anaconda2\lib\ftplib.py”,第226行,在getresp中
引发错误\u perm,resp
ftplib.error\u perm:500未知命令。

尝试使用前斜杠:

file = open('c:/archived/photos.zip','rb')                  # file to send

尝试完全删除文件打开模式,在本例中为
'rb'
。第二个错误表明您在
会话中忘记了
STOR
。storbinary('s.zip',file)
@furas是正确的-您发布的错误消息不是来自您发布的代码。您发布的代码将在
open
调用中出现错误,原因是字符串语法无效(您在上一个问题中已经询问过)。现在我必须做什么?使用您的,只需修复。
file = open('c:/archived/photos.zip','rb')                  # file to send