2015-10-06 42 views
1

嘿,我想通过Python学习FTP,并发现一些代码,我一直在测试它,但似乎无法使它工作。通过Python的FTP无法让它移动文件

import ftplib 
from ftplib import FTP 

File2Send = "D:\Backup\ZipFilesToMove\send.txt" 
Output_Directory = "\\vm-backupus\FTP\Databases\Sort" 
ftp = FTP("xxx.xxx.xxx.xxx") #I have the IP but I didnt want to give it out 
ftp.login('ShowME.ftp', 'pword01') 
file = open(File2Send, "rb") 
ftp.cwd(Output_Directory) 
ftp.storbinary('STOR ' + os.path.basename(File2Send), open(file)) 
print "STORing File now..." 
ftp.quit() 
file.close() 

我不断收到这个错误,任何想法为什么以及如何解决它。

Traceback (most recent call last): 
File "C:\BackupFiles\Test.py", line 9, in <module> 
ftp.cwd(Output_Directory) 
File "C:\Python27\lib\ftplib.py", line 562, in cwd 
return self.voidcmd(cmd) 
File "C:\Python27\lib\ftplib.py", line 254, in voidcmd 
return self.voidresp() 
File "C:\Python27\lib\ftplib.py", line 229, in voidresp 
resp = self.getresp() 
File "C:\Python27\lib\ftplib.py", line 224, in getresp 
raise error_perm, resp 
error_perm: 550 The system cannot find the path specified. 
+0

您确定您的计算机上存在'D:\ Backup \ ZipFilesToMove \ send.txt'路径吗? – ForceBru

+0

是的,它确实存在于我想从 – vmedhe2

+0

发送的计算机上我推荐使用非常直观的ftputil。请参阅:https://pypi.python.org/pypi/ftputil/2.2.3 –

回答

0

你的道路是错误的:

File "C:\BackupFiles\Test.py", line 9, in <module> 
ftp.cwd(Output_Directory) 

error_perm: 550 The system cannot find the path specified. 

此外,它看起来可疑:

Output_Directory = "\\vm-backupus\FTP\Databases\Sort" 

你的双反斜线表示Windows网络共享位置的语法,而不是一个FTP路径。您尝试更改目录的路径应该与FTP根目录相对或绝对。它看起来像你试图改变目录住在FTP服务器之外,而不是在它内部。

您应该使用FTP客户端使用用户名和密码登录到服务器,并验证绝对路径是什么。它不会以“\”开头,也不会使用反斜杠。像'/数据库/排序'

此外,请确保你有正确的名称。例如'vm-backupus'更可能是'vm-backups'。

+0

我尝试使用“C:\ FTP \ Databases \ Sort”,但那不正确。我知道这是我想要发送文件的计算机上文件的位置。我不知道如何找到FTP路径。如何找到FTP路径? – vmedhe2

+0

@ vmedhe2正如我在回答中所说的,使用FTP客户端登录FTP服务器。 “C:\ FTP \ Databases \ Sort”不能正确,因为FTP路径没有反斜杠,而且它们也没有驱动器号。 – Swoogan

0

错误550 The system cannot find the path specified.告诉您服务器的路径无效。

换句话说,这个:\\vm-backupus\FTP\Databases\Sort不是FTP服务器上的有效位置。