06 匿名函数、文件操作

01 匿名函数

def test1(a, b):
    return a+b
result1 = test1(11,22)

test2 = lambda a,b:a+b
result2 = test2(11,22)#调用匿名函数

print("result1=%d,result2=%d"%(result1, result2))

02 匿名函数的应用

infors = [{"name":"laowang","age":10},{"name":"xiaoming","age":20},{"name":"banzhang","age":10}]

infors.sort(key=lambda x:x['age'])#按age从大到小排序

print(infors)

03匿名函数当作实参

def test(a,b,func):
    result = func(a,b)
    return result

num = test(11,22,lambda x,y:x+y)
print(num)

04 匿名函数的输入

#coding=utf-8

def test(a,b,func):
    result = func(a,b)
    return result
#python2中的方式
#func_new = input("请输入一个匿名函数:")

#python3中的方式
func_new = input("请输入一个匿名函数:")
func_new = eval(func_new)

num = test(11,22,func_new)
print(num)

05 交换两个变量的值

a = 4
b = 5

#第1种
#c = 0
#c = a
#a = b
#b = c

#第2种
#a = a+b
#b = a-b
#a = a-b

#第3种
a,b = b,a

print("a=%d,b=%d"%(a,b

06 补充知识点

#a = 100
a = [100]

def test(num):
    #num+=num#  +=表示 num指向谁就对谁进行修改,如果num指向[100],那么就变为[100,100]
                #如果num 指向100,因为100是不可变类型,所以不能修改,所以num=num+num

    num = num+num#===>[100] + [100] ====>[100,100]   注意只要是num=xxx一定是num指向了一个新的地方
    print(num)

test(a)

print(a)

因为Python只是引用,并不是赋值

07 文件的打开关闭

f = open(“test.txt”,“w”)
在这里插入图片描述打开之后要关闭
f.close()

08 文件的读写操作

f = open("test.py","r")
f.read()#读取所有字节
f.read(1)#一个字节一个字节的读,一直到读完
f.open("test1.py","w")
f.write("hahah")

09 文件的复制

#1.打开用户想要复制的文件
old_filename = input("请输入要复制的文件名:")
old_file = open(old_filename,"r")

#2.打开用来接收复制内容的空白文件夹
position = old_filename.rfind(".")
new_filename = old_filename[:position]+"[复件]"+old_filename[position:]
new_file = open(new_filename,"w")

#3.将内容复制过去
content = old_file.read()
new_file.write(content)

#4.将两个文件关闭
old_file.close()
new_file.close()

另外两种读取的方式
f.readline()#一行一行的读
f.readlines()#将每一行存为一个列表的元素

10 文件超级大时该怎么处理

#1.打开用户想要复制的文件
old_filename = input("请输入要复制的文件名:")
old_file = open(old_filename,"r")

#2.打开用来接收复制内容的空白文件夹
position = old_filename.rfind(".")
new_filename = old_filename[:position]+"[复件]"+old_filename[position:]
new_file = open(new_filename,"w")

#3.将内容复制过去
#防止文件过大卡死,分开读取写入
while True:
    content = old_file.read(1024)
    if len(content)==0:
        break
    new_file.write(content)

#4.将两个文件关闭
old_file.close()
new_file.close()

11.定位读写
f.seek(0,0)#第一个参数将指针调几个字节,正→负←,第二个参数(0,1,2)0开头,1当前位置,2末尾
f.tell()#告诉指针现在的位置

12.文件和文件夹的常见操作
import os

#文件重命名
os.rename(“xxx,txt”,“yyy.txt”)

#删除文件
os.remove(“xxx.txt”)

#创建文件夹
os.mkdir(“test”)

#删除文件夹
os.rmdir(“test”)

#获取当前路径
os.getcwd()

#更改默认目录
os.chdir("…/")#跳转上一层路径

#获取目录列表
os.listdir("./")#当前路径所有文件

13.批量重命名

import os
#1.获取要重命名的文件夹名
folder_name = input("请输入要重命名的文件夹:")
#2.获取要批量重命名的所有文件的文件名
file_list = os.listdir(folder_name)

#3.重命名
#os.chdir(folder_name)#更改默认路径
#for file in file_list:
    #os.rename(file,"[东哥出品]"+file)

#第二种方法
for file in file_list:

    old_filename = folder_name + "/" + file
    new_filename = folder_name + "/" + "东哥出品" + file
    os.rename(old_filename,new_filename)

如何将更改的删除?

import os
#1.获取要重命名的文件夹名
folder_name = input("请输入要重命名的文件夹名:")

#2.获取用户想要删除的字符
cutname = input("请输入要删除的字符:")

#3.获取制定文件夹中的所有文件名
file_list = os.listdir(folder_name)

#4.重命名删掉该字符
for name in file_list:
    position = name.find(cutname) + len(cutname)
    old_name = folder_name + "/" + name
    new_name = folder_name + "/" + name[position:]
    os.rename(old_name,new_name)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值