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

打印目录下所有文件

  • os模块方法 os.listdir(’.’) 列出所有文件存到一个列表里
    os.path.isdir()判断是否为目录
    os.path.isfile()判断是否为文件
    os.path.join(’/etc/’,‘passwd’)链接路径
#!/usr/bin/python

import os
import sys

def print_files(path):
    lsdir = os.listdir(path)
    dirs = [i for i in lsdir if os.path.isdir(os.path.join(path, i))]
    files = [i for i in lsdir if os.path.isfile(os.path.join(path, i))]
    if files:
        for f in files:
            print os.path.join(path, f)
    if dirs:
        for d in dirs:
            print_files(os.path.join(path, d))

print_files(sys.argv[1])

python匿名函数lambda

  • 匿名函数
    • lambda函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方
def fun(x,y):
    return x*y
fun(2,3)

lambda函数
r = lambda x,y:x*y
r(2,3) 
  • 匿名函数优点:
    • 1.使用python写一些脚本时,使用lambda可以省去定义函数过程,让代码更加精简
    • 2.对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
    • 3.使用lambda在某些时候让代码更容易理解
  • lambda语句中,冒号前是参数,可以有多个,逗号隔开,冒号右边是返回值
  • lambda语句构建的其实是一个函数对象
  • reduce函数必须定义两个参数
    reduce(lambda x,y:x+y,range(1,5))
    4+3+2+1
    For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates
    ((((1+2)+3)+4)+5)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值