zoukankan      html  css  js  c++  java
  • Python Ftp Ftplib dir()方法 返回值问题

    最近在用Ftplib 模块中的 dir方法 ,想用变量存储一下 返回的目录,发现返回的是None ,看了下源码发现并没有返回值, 只是会默认输出到标准输出流,百度了一下 也没百度到解决方案。

    #Ftplib模块中 dir方法的定义 发现无返回值

        def dir(self, *args):
            '''List a directory in long form.
            By default list current directory to stdout.
            Optional last argument is callback function; all
            non-empty arguments before it are concatenated to the
            LIST command.  (This *should* only be used for a pathname.)'''
            cmd = 'LIST'
            func = None
            if args[-1:] and type(args[-1]) != type(''):
                args, func = args[:-1], args[-1]
            for arg in args:
                if arg:
                    cmd = cmd + (' ' + arg)
            self.retrlines(cmd, func)
    

    研究了一下,发现直接在Ftplib源码中新写一个dirs方法就可以解决返回值的问题:

    这里用了templist ,返回为所有目录的列表

        def dirs(self, *args):
            '''List a directory in long form.
            By default list current directory to stdout.
            Optional last argument is callback function; all
            non-empty arguments before it are concatenated to the
            LIST command.  (This *should* only be used for a pathname.)'''
            cmd = 'LIST'
            templist = []
            func = None
            if args[-1:] and type(args[-1]) != type(''):
                args, func = args[:-1], args[-1]
            for arg in args:
                if arg:
                    cmd = cmd + (' ' + arg)
            self.retrlines(cmd, templist.append)
            return templist
    
  • 相关阅读:
    mysql笔记3_存储引擎
    mysql笔记2_约束
    mysql笔记1_数据库发展史
    JDOM2.x|XPath小记
    关于批量导入数据以及调优的一些总结
    MD5加密算法
    document.ready和onload的区别——JavaScript文档加载完成事件 .
    java反编译工具
    容易被忽略CSS特性
    Struts2基本包作用详解
  • 原文地址:https://www.cnblogs.com/pandaa/p/12121378.html
Copyright © 2011-2022 走看看