python中ls函数_python—函数实例二

本文详细介绍了如何使用递归和Python内置函数如os.listdir(), os.path模块,以及匿名函数lambda在文件操作中。重点讲解了如何列出目录下所有文件、使用reduce()进行累加,同时涵盖了abs(), max/min, len(), 等常见函数的使用。
摘要由CSDN通过智能技术生成

一、递归

几种常用内置函数方法:

1)os.listdir():列出第一层目录文件

In [14]: os.listdir("/root/python")

Out[14]:

['20.py',

'1.py',

'19.py',

'21.py']

2)os.path.isdir():判断是不是目录In [13]: os.path.isdir("/root/python")

Out[13]: True

3)os.path.isfile():判断是不是文件In [15]: os.path.isfile("/root/python/1.py")

Out[15]: True

4)os.path.join():拼接路径In [16]: os.path.join("/root/python","dir1","dir2")

Out[16]: '/root/python/dir1/dir2'

练习:使用递归列出目录下的所有文件#!/usr/bin/env python

import os

import sys

def print_file(path):

lsdir = os.listdir(path)

for i in lsdir:

if os.path.isfile(os.path.join(path,i)):

print os.path.join(path,i)

if os.path.isdir(os.path.join(path,i)):

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

print_file(sys.argv[1])

或:#!/usr/bin/env python

import os

import sys

def print_file(path):

lsdir = os.listdir(path)

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

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

if files:

for fl in files:

print os.path.join(path,i)

if dirs:

for dr in dirs:

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

print_file(sys.argv[1])

二、匿名函数:lambda,冒号前是变量参数,冒号后是返回值

reduce()方法:无需定义函数,直接使用匿名函数即可

练习:累加

In [18]: reduce(lambda x,y:x+y,range(1,101))

Out[18]: 5050

三、内建函数

1)abs():绝对值

2)max() min():序列的最大最小值

3)len():取长度,序列和字典都可以

4)divmod():返回商和余数

5)pow(): 取幂

说明:两个数,幂;三个数,先幂,再取余数

6)round():保留小数位

说明:先变成浮点数,再保留小数

7)callable():判断一个对象是不是可调用的:函数、类可以调用,变量不可以调用

8)type():查看对象的类型

9)isinstance():判断是不是指定的类型

10)cmp():比较两个数字、字符串

11)range()、xrange():一个返回列表、一个返回对象(遍历时才有值)

12)complex():转变成一个负数

13)str():转换成字符串,可以是列表,也可以是字典

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值