写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作
import os #加载模块
def xiu(a,b,c): #三个接受值的形参
f = open(a,encoding='utf-8') #打开文件,文件名为接收的形参a
f2 = open('disanti_back',encoding='utf-8',mode='w')#打开修改后写入的文件
for item in f: #循环没一行的文件中的数据
new_item = item.replace(b,c)#将要修改的内容字符串用replace替换
f2.write(new_item) #将替换后的内容写入修改后写入的文件中
f.close()
f2.close()
os.remove(a) #移除修改前的文件
os.rename('disanti_back',a) #将写入修改后内容的文件改名为修改的文件名,这样就相当于修改了原来的文件
xiu(a,b,c)
a为要修改的文件名,b是要修改的内容,c是修改后的内容,一共用了三个参数
----------------------------------------------------------------------------------------------------
写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。
def panduan(a):
if a: #判断传过来的参数是否有值
if type(a)==str: #如果有值的话判断是否是字符串
for item in a: #如果是字符串的话循环打印字符串的每一个元素
if item.isspace():#因为字符串中空格是空内容所以前面要加判断,其他的空格不算空内容。
return True #如果有空内容返回True
else:
for item in a: #如果不是字符串循环打印元素
if not item: #如果没有值
return True #返回True
else:
return True
v = panduan('adf sad sd a a')
print(v)
------------------------------------------------------------------------------------------------
写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
def k(a):
li = []
for item in a.values(): #循环打印形参中的值
v = len(item) #获得值的长度
if v > 2:
li.append(item[0:2]) #如果长度大于2就将前两位添加进li中
else:
continue
return li #将li返回
print(k(dic))