目录
a.1:以写的方式打开文件stu_info.txt并向文件中写入(姓名-性别-年龄):每个一行
b.读:以读的方式打开文件stu_info.txt,读取文件的每一行内容,并格式化输出,输出格式:居中对齐
a.装饰器:要求定义一个装饰器(通用),可以打印出被装饰函数的运行时间
a.写:
a.1:以写的方式打开文件stu_info.txt并向文件中写入(姓名-性别-年龄):每个一行
使用write
方法一
list_data = [ "zhangsan-male-20",
"lisi-female-21",
"wangwu-male-20"
]
file_data = open("stu_info", "w", encoding='utf-8')
str_data = file_data.write("\n".join(list_data))
file_data.close()
方法二
list_data = [ "zhangsan-male-20",
"lisi-female-21",
"wangwu-male-20"
]
with open("stu_info", "w") as file_data:
print(file_data.write("\n".join(list_data)))
使用writelines
方法一
list_data = ["zhangsan-male-20\n","lisi-female-21\n","wangwu-male-20\n" ]
file_data2 = open("stu_info", "w")
str_data2 = file_data2.writelines(list_data)
file_data2.close()
方法二
list_data = ["zhangsan-male-20\n","lisi-female-21\n","wangwu-male-20\n" ]
with open("stu_info", "w") as file_data2:
print(file_data2.writelines(list_data))
b.读:
b.读:以读的方式打开文件stu_info.txt,读取文件的每一行内容,并格式化输出,输出格式:居中对齐
print(f"{'name':^20}{'gender':^10}{'age':^10}")
file_data = open("stu_info", "r")
str_data = file_data.readlines()
file_data.close()
# print(str_data, type(str_data))
for i in str_data:
strip_data = i.strip()
split_data = strip_data.split("-")
# print(split_data, type(split_data))
print(f"{split_data[0]:^20}{split_data[1]:^10}{split_data[2]:^10}")
'''
name gender age
zhangsan male 20
lisi female 21
wangwu male 20
'''
'''
装饰器:
a.装饰器:要求定义一个装饰器(通用),可以打印出被装饰函数的运行时间
满足题意的函数
import time
def decorator(arg):
def outer(func):
def inner(*args, **kwargs):
befor_time = time.time()
func(*args, **kwargs)
after_time = time.time()
run_time = befor_time - after_time
print(run_time)
return inner
return outer
@decorator("debug")
证明
装饰打印hello
import time
def decorator(arg):
def outer(func):
def inner(*args, **kwargs):
befor_time = time.time()
func(*args, **kwargs)
after_time = time.time()
run_time = befor_time - after_time
print(run_time)
return inner
return outer
@decorator("debug")
def print_arg(*args, **kwargs):
time.sleep(2)
print("hello")
# print(key=1)
print_arg(1, 3, key=2)
装饰一个传关键字参数的函数
import time
def decorator(arg):
def outer(func):
def inner(*args, **kwargs):
befor_time = time.time()
func(*args, **kwargs)
after_time = time.time()
run_time = befor_time - after_time
print(run_time)
return inner
return outer
@decorator("debug")
def print_key(*, key="vaule"):
print(key)
time.sleep(2)
print_key(key=1)
装饰一个可以运算打印三数之和的函数
import time
def decorator(arg):
def outer(func):
def inner(*args, **kwargs):
befor_time = time.time()
func(*args, **kwargs)
after_time = time.time()
run_time = befor_time - after_time
print(run_time)
return inner
return outer
@decorator("debug")
def print_sum(arg1, arg2, arg3, arg4):
arg = arg1 + arg2 + arg3 + arg4
print(arg)
time.sleep(2)
print_sum(1, 2, 3, 4)