2015-10-06 44 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服務器上的有效位置。