1. 用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
def func(name, **kwargs):
import os
if not os.path.exists(r'{}'.format(name)):
print('文件路径输入错误')
return
with open(r'{}'.format(name), 'rb') as f1,
open(r'{}.swap'.format(name), 'wb') as f2:
for line in f1:
line = line.decode('utf-8')
if kwargs['old_content'] in line:
line = line.replace(kwargs['old_content'], kwargs['new_content'])
f2.write(line.encode('utf-8'))
else:
f2.write(line.encode('utf-8'))
else:
print('修改完毕')
os.remove(r'{}'.format(name))
os.rename('{}.swap'.format(name), '{}'.format(name))
func('a.txt', old_content='裤衩', new_content='大裤衩')
2. 计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def func(str_ori):
dic = {
'number': 0,
'letter': 0,
'space': 0,
'others': 0
}
for str in str_ori:
if ord(str) in range(65,91) or ord(str) in range(97,123):
dic['letter'] += 1
elif str.isdigit():
dic['number'] += 1
elif ord(str) == 32:
dic['space'] += 1
else:
dic['others'] += 1
return(dic)
res = input('请输入查询字符串:')
rec = func(res)
print('数字为{},字母为{},空格为{},其他为{}'.format(rec['number'],rec['letter'],rec['space'],rec['others']))
3. 判断用户传入的对象(字符串、列表、元组)长度是否大于5
def func(letter, *args, **kwargs):
args = list(args)
print(args)
print(kwargs)
str_0 = '<5'
list_0 = '<5'
dict_0 = '<5'
n = 0
while n < 3:
if len(letter) > 5:
str_0 = '>5'
letter = '1'
elif len(args) > 5:
list_0 = '>5'
args = []
elif len(kwargs) > 5:
dict_0 = '>5'
n += 1
print('字符串长度{},列表长度{},字典长度{}'.format(str_0, list_0, dict_0))
4. 检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
def func(*args):
# args = list(args)
# print(args)
if len(args) > 2:
x,y = args[0:2]
return x,y
else:
x,y = args
return x,y
x,y = func(*[1,2])
print(x,y)
def morethan_two(x,y,*args):
return x,y
x,y = morethan_two(*[1,2,3,4,5,6])
print(x,y)
5. 检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
def func(j):
print(j,type(j))
l = []
for i in range(len(j)):
if i % 2 == 0:
continue
else:
l.append(j[i])
return l
print(func([1,2,3,4,5]))
print(func((1,2,3,4,5)))
6. 检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
def func(dic):
for i in dic:
if len(dic[i]) > 2:
dic[i] = dic[i][0:2]
# else:
# dic[i] = dic[i]
return dic
dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
print(func(dic))