ftplibを使用して、NOAA CLASSアーカイブから衛星データをダウンロードするために小さなスクリプトを使用しています。最近まで、これは完璧に動作していましたが、今は私の注文に対応するディレクトリが表示されません。 ftplibクエリは実際に利用できるディレクトリのほんの一部しか見ません。以下はPython ftplibにすべてのファイル/ディレクトリが表示されない
はftplibのが唯一のルートディレクトリにあるコンテンツのサブセットを見ていることを示している数行です:通常のFTPセッションで
1926
False
:
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()
これは、次の出力を生成します私は、ルートディレクトリの下に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
ありがとう。まあ、私はそうは思わない。どちらの場合も匿名でログインします。私は "ftp"を使用し、CLIを使用するときは何も送っていないメールアドレスを提供していますが、ftp.login()とftp.login( 'anonymous'、)を試しました。ですから、私は1926年の両方のケースでエントリーしか見ることができません。 –
Adam