Python-有关文件操作,函数调用几道练习:
1、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作
2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
4、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
5、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
6、写函数,检查字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
1 #题目一 2 3 def modify_file(filename,old,new): 4 import os 5 with open(filename,"r",encoding='utf-8') as f,\ 6 open('file.bak',"w",encoding='utf-8') as f1: 7 for line in f: 8 if old in line: 9 line = line.replace(old,new) 10 f1.write(line) 11 os.remove(filename) 12 os.rename('file.bak',filename) 13 14 15 modify_file('test',"调","吊") 16 17 18 #题目二 19 def check_str(msg): 20 # msg = msg.encode("utf-8") 21 count_pha = 0 22 count_num = 0 23 count_none = 0 24 count_an = 0 25 26 for i in msg: 27 print(i) 28 if i.isnumeric(): 29 count_num +=1 30 elif i.isalpha(): 31 count_pha +=1 32 elif i.isspace(): 33 count_none +=1 34 else: 35 count_an +=1 36 print("number:%d" %count_num) 37 print("pha:%d" %count_pha) 38 print("space:%d" %count_none) 39 print("anther:%d" %count_an) 40 41 check_str("哈哈哈 a 22 34 aw") 42 43 44 #题目三 45 def count_len(*arg): 46 llen = len(*arg) 47 if len(*arg) > 5: 48 print("right") 49 else: 50 print("no") 51 52 Enter = input("InPut:") 53 count_len(Enter) 54 55 56 #题目四 57 def modify_list(arg): 58 arg1 = [] 59 count_len = len(arg) 60 if count_len > 2: 61 arg = arg[:2] 62 63 for i in arg: 64 print(i) 65 66 modify_list(["aa","bb","cc"]) 67 68 69 题目五: 70 def func2(seq): 71 return seq[::2] 72 print(func2([1,2,3,4,5,6,7])) 73 74 75 题目六: 76 def modify_dir(dir): 77 for i in dir: 78 dir_len = len(dir[i]) 79 if dir_len > 2: 80 dir[i] = dir[i][0:2] 81 82 print(dir) 83 84 modify_dir({"a":"bbbbbbbbbb","b":"aaaaaaa"})