python ftp.nlst 下载问题

cenhimgn13 2013-01-16 12:26:16
我想使用 ftp.nlst 来获取文件得名,只获取文件名(排除目录),请问该如何实现,类似于:'ls -l | grep ^d'

参考资料(nlst(argument[,...]): 查询参数指定的路径下的文件列表;如果指定多个参数是用于非标准或自定义的FTP查询)

...全文
513 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bugs2k 2013-01-24
  • 打赏
  • 举报
回复
哪个nlst,如果是标准的ftp协议nlst,那应该没法满足你的要求吧
cenhimgn13 2013-01-23
  • 打赏
  • 举报
回复
我要用的是 ftp.nlst
maniachhz 2013-01-16
  • 打赏
  • 举报
回复
引用 2 楼 bugs2k 的回复:
Python code?12345678910111213141516from ftplib import FTPimport re files = []def do_file(line): m = re.search(r'^[^dl].*(?<=\s)(\S+)$', line) if m: files.append(m.group(1)) f……
entries 改成files吧?
bugs2k 2013-01-16
  • 打赏
  • 举报
回复
from ftplib import FTP
import re

files = []
def do_file(line):
    m = re.search(r'^[^dl].*(?<=\s)(\S+)$', line)
    if m:
        files.append(m.group(1))

f = FTP('ftp.kernel.org')
f.login()
f.cwd('/pub/linux/kernel/v2.6/')
entries = f.retrlines('LIST', do_file)
f.quit()
for name in files:
    print name
bugs2k 2013-01-16
  • 打赏
  • 举报
回复
from ftplib import FTP
import re

def do_file(line):
    m = re.search(r'^[^dl].*(?<=\s)(\S+)$', line)
    if m:
        print m.group(1)

f = FTP('ftp.kernel.org')
f.login()
f.cwd('/pub/linux/kernel/v2.6/')
entries = f.retrlines('LIST', do_file)
f.quit()

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧