我一直在使用一個小腳本,使用ftplib從NOAA CLASS檔案下載衛星數據。直到最近,這一直是完美的工作,但現在我沒有看到我的訂單對應的目錄。 ftplib查詢實際上只能看到一小部分可用的目錄。Python ftplib沒有看到所有的文件/目錄
下面是證明FTPLIB只能看到在根目錄下的內容的子集的幾行:
from ftplib import FTP
HOST = "ftp.class.ncdc.noaa.gov"
ftp = FTP(HOST)
ftp.login()
files = ftp.nlst()
print len(files)
is_ok = '2304318203' in files
print is_ok
ftp.quit()
它產生以下輸出:
1926
False
與正常的ftp會話我在根目錄下看到7203個項目,特別是我的目錄下的有序數據:
Name (ftp.class.ngdc.noaa.gov:a000680): ftp
331 Any password will work
Password:
230 Any password will work
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd 2304318203
250 OK. Current directory is /2304318203
ftp> pwd
257 "/2304318203" is your current location
我正在使用Python 2.7,但正如我上面所說的,這一直在工作,與類似的NOAA CLASS歸檔訂單。那麼,數據提供者是否可以在服務器上做出一些改變,導致這種奇怪的行爲?
我剛剛使用'ftplib'和CLI測試了主機 - 我從這兩個目錄列表中獲得了相同的目錄列表。我是否認爲在使用「正常ftp會話」時不會匿名登錄?這將解釋看到不同的清單... – jmetz
謝謝。那麼,我不這麼認爲。我在兩種情況下都匿名登錄。在使用CLI時,我使用「ftp」並提供任何內容或我的電子郵件地址,並且我嘗試了ftp.login()和ftp.login('匿名',<我的電子郵件地址>)但沒有更改。所以,我是對的,你們在這兩種情況下只能看到1926個左右的參賽作品嗎? – Adam