递归列出目录里的文件
#!/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