文件操作回顾总结
文件操作
打开文件
open('文件路径') 默认的打开方式('r'),默认的编码是('操作系统的默认编码')
r w a r+ w+ a+ 以上6种加b (r+ w+ a+ 尽量避免)(如果打开模式加b了,则不需要指定编码了;)
编码 utf-8 gbk
操作文件
读
read
不传参数 意味着读所有
如果是r方式打开的,参数指的是读多少个字符
传参,以rb方式打开,参数指的是读多少个字节
readline
一行一行读,每次只读一行,不会自动停止
for循环
一行一行读 从第一行开始,每次读一行,读到没有之后就停止
readlines
写
write 写一行内容,以w形式打开写的是字符,以b模式打开写的是字节
关闭文件
f.close()
with open() as f:
修改文件
c import os
os.remove
os.rename
函数基础回顾总结
# 函数
# 定义
# 关键字 def 函数名(形参,a):
# 参数: 位置参数 关键字参数
# 位置参数
# *args 动态参数:接收在调用的时候传过来的所欲的所有按位置传的参数
# 关键字参数 默认参数(如果不传会有一个默认参数,传了会覆盖默认的值)
# **kwargs 动态参数:接收在调用的售后传过来的多余的所有按关键字传的参数
# 返回值
# return 停止一个程序的运行,返回参数
# 没有返回值 默认返回 one
# 有一个返回值
# 返回多个值
# 调用
# 调用的关键字 函数名()
# 传参数: 实参
# 按照位置传
# 按照关键字传
# 接收返回值
# 没有返回值 不接收
# 有一个返回值 用一个变量接收
# 有多个返回值
# 用一个变量接收 所有返回值都会被组织成一个元祖
# 用多个变量接收 有多少个返回值,就必须用多少个变量接收。
# 函数是第一类对象的概念
# 函数名 ---> 函数的内存地址
# 函数名 可以作为容器类型的元素 函数的参数 函数的返回值 还能进行赋值
# 闭包和装饰器
# 闭包的定义: 内部函数引用外部函数的变量
# 闭包的应用: 装饰器
# 装饰器
# 在原有的函数的前后增加功能,且不改变原函数的调用方式
import time
# 装饰器模板
def timmer(f):
def inner(*args,**kwargs):
ret = f(*args,**kwargs)
return ret
return inner
def timmer(f):
def inner(*args,**kwargs):
start_time = time.time()
ret = f(*args,**kwargs)
end_time= time.time()
print(end_time - start_time)
return ret
return inner
@timmer
def func(a):
print(a,'123')
time.sleep(0.1)
return True
# func(1)
# 装饰器进阶
# 第一种情况 你可以确认你的装饰器是否生效