星期五, 8月 29, 2008

[Python]ftp之dir ls nlist and timeout

最近在用Python的ftplib,發現dir, ls, nlist有點差異,
dir等於ls的加強,可以dir -R
dir or ls與nlist最大的差別是dir or ls會回傳檔案或是目錄的資訊,而nlist只有檔案名稱
兩個還有一個差異,這是依照ftp server而有所不同,如果是沒有檔案或是目錄的時候,
dir or ls會回傳220 transfer complete.
nlist會回傳550 No files found.
所以nlist會出先exception,在判斷上會不太一樣,記錄一下,以免忘記。
--------------------------------------------------------------------
另外ftplib在Python 2.6之後才支援timeout的設定,那Python 2.6之前的怎麼辦呢?
可以用sock設定,下面是例子:
import socket
socket.setdefaulttimeout(5*60)
以秒為單位,自己決定設定多久timeout嚕~~~~^^

沒有留言:

張貼留言