加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python ftp仅列出目录而不是文件

发布时间:2020-12-20 11:18:52 所属栏目:Python 来源:网络整理
导读:我想在ftp目录中列出所有目录,然后输入每个目录. 问题是我的代码也列出了文件并尝试输入它们. 有没有办法从方法ftp.cwd获取返回值? 有没有办法首先获得目录名称,或者有更好的方法来做我想要的. 这是我现在使用的代码: from ftplib import FTP ftp = FTP('f
我想在ftp目录中列出所有目录,然后输入每个目录.
问题是我的代码也列出了文件并尝试输入它们.

>有没有办法从方法ftp.cwd获取返回值?
>有没有办法首先获得目录名称,或者有更好的方法来做我想要的.

这是我现在使用的代码:

from ftplib import FTP
    ftp = FTP('ftp.overtherainbow.com')
    ftp.login()
    for name in ftp.nlst():
        print "listing: " + name
        ftp.cwd(name)
        ftp.retrlines('LIST')
        ftp.cwd('../')

解决方法

FTP协议没有区分目录和文件的方法(如列表).我认为最好的选择是尝试和失败

try:
    ftp.cwd(name)
except ftplib.error_perm as detail:
    print("It's probably not a directory:",detail)

或者您可能想要解析目录列表中的输出.但这不是平台独立的,因为目录列表因操作系统而异.
如图所示here…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读