递归列出目录里的文件、匿名函数-阿里云开发者社区

开发者社区> 技术小甜> 正文

递归列出目录里的文件、匿名函数

简介:
+关注继续查看

递归列出目录里的文件

#!/usr/bin/python

import os

import sys

def print_file(path):

    lidir=os.listdir(path)

    dirs=[i for i in lidir if os.path.isdir(os.path.join(path,i))]

    files=[i for i in lidir if os.path.isfile(os.path.join(path,i))]

    if files:

        for i in files:

            print os.path.join(path,i)

    if dirs:

        for j in dirs:

            print_file(os.path.join(path,j))

print_file(sys.argv[1])


匿名函数

匿名函数就是没有函数名的函数,即 lambda 函数,lambda 函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方,lambda 可以省去定义函数的过程,让代码更加精简,而且使用 lambda 在某些时候让代码更容易理解,对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用 lambda 不需要考虑命名的问题

传统的函数:

In [66]: def add(x,y):

    ...:     return x + y

    ...: 


In [67]: add(3,4)

Out[67]: 7


匿名函数:

In [68]: r=lambda x,y:x+y # lambda 语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边是返回值,lambda 语句构建的其实是一个函数对象

In [69]: r(4,5)

Out[69]: 9














本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2057849 ,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Qt .pro文件之defineReplace函数的用法,实现lib文件名自动添加后缀“d“
Qt .pro文件之defineReplace函数的用法,实现lib文件名自动添加后缀“d“
36 0
php移动文件的函数 move_uploaded_file()和copy
最近遇到的问题就是:用户提交一个图片,我这边给缩放成三种格式的大小,缩放的方法存在,所以我这边直接就调用三次,结果只有一张图片上传,采用循环调用的方法还是只有一个图片,后来发现 提交文件的时候有一个移动函数 move_uploaded_file(),这个函数虽然多次调用但是只能执行一次,原因就在于...
572 0
2014秋C++ 第12周项目 C++函数新特征与递归函数
课程主页在http://blog.csdn.net/sxhelijian/article/details/39152703,课程资源在云学堂“贺老师课堂”同步展示,使用的帐号请到课程主页中查看。  【项目1- 阅读程序】阅读下列程序,写出程序的运行结果。上机时运行程序,与你的预期进行对照、理解。如果对运行结果和其背后的原理仍不理解,请通过单步执行的手段跟踪理解。(1)阅读下面两个有静态局部变量
1133 0
7.4 匿名函数和高阶函数
1、匿名函数:没有名字的函数 def sum(s, y):     return x * y m = lambda x, y: x * y print(m) print(m(4, 5)) 2、sorted() 高阶函数 对字典进行排序 mm=dict(a=1,c=10,b=4,d=9) for i in mm:     print(i) for j in mm.
667 0
CV:基于Keras利用CNN主流架构之mini_XCEPTION训练性别分类模型hdf5并保存到指定文件夹下
CV:基于Keras利用CNN主流架构之mini_XCEPTION训练性别分类模型hdf5并保存到指定文件夹下
24 0
lambda匿名函数使用
#!/usr/bin/pythonfun=lambda x:x*x-xprint fun(3)
448 0
+关注
10146
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载