2013-02-19 107 views
2

當我嘗試使用ftplib連接到ftp服務器時,我遇到了一些非常奇怪的行爲。我在做什麼是:python ftplib奇怪的行爲

import ftplib 
ftp = ftplib.FTP('my-ftp-server') 
ftp.login('user ', 'pass') 

現在,如果我從一個Python解釋器中運行這些它做工精細,我得到:

'230 Login successful.' 

但我想在一個不錯的腳本,可以做的有這些我的東西。當我把這些都在某些python腳本並運行:

python my_ftp_stuff.py 

我得到:

ftplib.error_perm: 530 Login incorrect. 

我真的很無能,是什麼導致這種怪異的行爲。有沒有人有什麼建議嘗試?

問候

回答

5

你有一個空間(' ')在您的用戶名欄中的。

+0

哇,這是尷尬。我花了大約2個小時將我的頭撞在牆上,這可能是什麼。也有趣的是,這些都不是我的實際憑據,所以我不小心在這裏添加了一個空間:D – Bogdan 2013-02-19 14:34:51

+0

不要爲它出汗,我的頭上仍然留有印記。 – danodonovan 2013-02-19 14:39:44

1

你應該通過登錄&密碼__init__,而不是登錄方法:

import ftplib 
ftp = ftplib.FTP('my-ftp-server', 'login', 'password') 
print(ftp.dir()) 
+0

是的,但這只是ftp對象的初始化,如果您在ipython中運行或需要等待其他人員,您的連接可以在默認超時後關閉。另外ftp.connect(host,timeout = x)ftp.login(user,passwd)更安全,可以很容易地通過錯誤捕獲 – GeoStoneMarten 2017-03-14 15:13:21