一、匿名函数
- 语法:
sum = lambda arg1, arg2: arg1 + arg2
#调用sum函数
print "Value of total : ", sum( 10, 20 ) #结果为:30
print "Value of total : ", sum( 20, 20 ) #结果为:40
应用场合
- 作为函数的实参
def fun(a, b, opt): print("a =", a) print("b =", b) print("result =", opt(a, b) fun(1, 2, lambda x, y:x + y #结果为:a = 1 b = 2 result = 3
- 作为python内置函数的参数。
stus = [ {"name":"zhangsan", "age":18}, {"name":"lisi", "age":19}, {"name":"wangwu", "age":17} ] #将以上列表按姓名排序。 stus.sort(key = lambda x:x[‘name‘])
二、文件
打开文件:
- 使用open()函数。
file = open(‘test.txt‘, ‘r‘)
访问模式 说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 关闭文件:
- 使用close()函数
file.close()
读取文件:
- 使用read()函数
file.read() file.read(1) #每次只读一个字节 file.read(2) #每次读两个字节
使用readlines()函数:readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素
使用readline()函数:只读取文件中的一行
写入内容:
使用write()函数
python file.write(‘12345‘)
- 定位读写:
- 获取当前文件读取的位置:tell()
- 定位到某个位置:seek(offset, from)
- offset:偏移量
- from:方向
- 0:表示文件开头
- 1:表示当前位置
- 2:表示文件末尾
- 文件的重命名:rename():
import os
os.rename(‘test.txt‘, ‘1.txt‘)
os.remove(‘1.txt‘)
os.mkdir(‘test‘)
os.rmdir(‘test‘)
os.getcwd()
os.chdir(‘../‘)
os.listdir(‘./‘)
删除文件:remove()
- 创建文件夹:mkdir()
- 删除文件夹:rmdir()
- 获取当前目录:getcwd()
- 改变默认目录:chdir()
获取目录列表:listdir()