1.写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作
import os
def modify_file(file_name, content, new_str):
new_filename = "%sfile_name" % "new."
new_file = open(new_filename,"a")
if os.path.exists(file_name):
with open(file_name, 'r') as f:
while True:
line = f.readline()
if not line:
break
elif content in line:
line = line.replace(content, new_str)
new_file.write(line)
new_file.close()
os.remove(file_name)
os.rename(new_filename,file_name)
else:
print("file not exists!")
modify_file("test.txt",'zxf','888') # 将test文件内的zxf全部替换成888
2. 写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。
def is_null(obj):
num = len(obj)
for i in range(0,num-1):
if obj[i] == " ":
print("所传入的对象%s含有空内容" % obj)
break
else:
print("所传入的对象%s不含空内容" % obj)
is_null('[1,2,4,5]')
3、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def two_len(obj):
for key in obj:
if len(obj[key]) >2:
obj[key] = obj[key][0:2]
return obj
dict_new = two_len({"name": "zxf", "age": "23", "sex": "man"})
print(dict_new)
4、写函数,传入n个数,返回字典{‘max’:最大值,’min’:最小值}
def max_min_dict(*args):
max_val = max(args)
min_val = min(args)
return {"max": max_val, "min": min_val}
print(max_min_dict(22, 33, 2, 21, 3, 4, 77))
5、函数的可变参数(*args和**kwargs)
# *args 和 **kwargs
def fun_parm1(*args):
""" *args是把多个位置参数打包成元组 """
print(args)
print(type(args))
def fun_parm2(a,*args):
print(a)
print(args)
def fun_parm3(**kwargs):
"""**kwargs是把多个关键字参数打包成字典"""
print(kwargs)
print(type(kwargs))
fun_parm1(1, 2, 3, 4)
fun_parm2(1, 2, 3, 4)
fun_parm3(a=1, b=2, c=3)