Pythonでの完全なFTPサポートにはftplibを使用できます。ただし、ディレクトリリストを取得するための推奨される方法は次のとおりです。
# File: ftplib-example-1.py
import ftplib
ftp = ftplib.FTP("www.python.org")
ftp.login("anonymous", "ftplib-example-1")
data = []
ftp.dir(data.append)
ftp.quit()
for line in data:
print "-", line
どちらが得られますか:
$ python ftplib-example-1.py
- total 34
- drwxrwxr-x 11 root 4127 512 Sep 14 14:18 .
- drwxrwxr-x 11 root 4127 512 Sep 14 14:18 ..
- drwxrwxr-x 2 root 4127 512 Sep 13 15:18 RCS
- lrwxrwxrwx 1 root bin 11 Jun 29 14:34 README -> welcome.msg
- drwxr-xr-x 3 root wheel 512 May 19 1998 bin
- drwxr-sr-x 3 root 1400 512 Jun 9 1997 dev
- drwxrwxr-- 2 root 4127 512 Feb 8 1998 dup
- drwxr-xr-x 3 root wheel 512 May 19 1998 etc
...
結果を解析してディレクトリリストを取得するのがアイデアだと思います。ただし、このリストは、FTPサーバーのリストのフォーマット方法に直接依存しています。FTPサーバーがこのリストをフォーマットする可能性のあるさまざまな方法をすべて予測する必要があるため、このためのコードを作成するのは非常に面倒です。
ディレクトリリストで配列を埋めるポータブルな方法はありますか?
(アレイにはフォルダー名のみが含まれている必要があります。)