您可以使用 ftplib 在 Python 中获得完整的 FTP 支持。但是,获取目录列表的首选方法是:
# 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 服务器可能会格式化此列表的所有不同方式,为此编写代码会非常麻烦。
是否有一种可移植的方式来获取一个充满目录列表的数组?
(数组应该只有文件夹名称。)