知识点篇:
#! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "DaChao" # Date: 2017/6/12 #一、编码 # s = u'林' # s1 = s.encode('utf-8') # s2 = s.encode('gbk') # print(s1) # print(s2) # # print(repr(s)) # print(repr(s1)) # print(repr(s2)) # # print(type(s)) # print(type(s1)) # print(type(s2)) #二、文件处理 # f = open("a.txt","a",encoding="utf-8") #打开,赋值文件;指定操作模式,指定编码标准 ''' r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】 w,只写模式【不可读;不存在则创建;存在则清空内容】 x, 只写模式【不可读;不存在则创建,存在则报错】 a, 追加模式【可读; 不存在则创建;存在则只追加内容】 ''' # print(f.read()) #读取内容 # print(f.readline(),end='') #以字符串形式读取,每行 # print(f.readline(),end='') #以字符串形式读取,每行 # print(f.readline(),end='') #以字符串形式读取,每行 # # print(f.readlines()) #以字符串形式读取 # f.write("yyyyyyyyyyyyyyy ") #w或a模式下修改,追加内容 # f = open('a.txt','rb') # # f.seek(100,1) #seek() 方法用于移动文件读取指针到指定位置。 # print(f.tell()) # # f.close() #关闭文件 # def xing(tag): # print(tag+' '+tag+' '+tag) # # xing("*"*6) # # import os # # read_f = open("b.txt","r",encoding="utf-8") # write_f = open("b.txt.swp","w",encoding="utf-8") # # for line in read_f # if "alex" in line: # line=line.replace("alex","ALEXSB") # write_f.write(line) # else: # write_f.write(line) # read_f.close() # write_f.close() # # os.remove("b.txt") # os.rename("b.txt.swp","b.txt") # f = open('n 11.png','r') # # f.write('afd') # # f.read() # # print(f.readline(),end='') # f1 = open('nn_22.png','w') # f1.write(f.read()) # # # # f.close() #三、函数
作业篇:
#! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "DaChao" # Date: 2017/6/12 # 1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作 def work_11(): file_name = input("Please input file name: ") file_y = input("Please input check your content: ") with open("file_name","w",encoding='utf-8') as write_f: write_f.write(file_y) # work_11() # 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数 def work_2(str_1): for i in str_1: print(i,"the number is: ",str_1.count(i)) # # work_2("sjflk jo12k3jkl jsdflj") # 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。 def work_3(str_3): count = 0 for i in str_3: count += 1 print(count) # work_3('1,2,4,2,5,1') # work_3(['name','dachao','age','18','level','20']) # work_3(('name','dachao','age','18','level','20')) # 4、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。 def strongwork_4(str_4): for i in str_4: if i.strip() == "" : #何为空?1、只有空格;2、啥也没有====>去掉空格后,不为空即不为空。 return ("Empty!") return ("NO") # print(strongwork_4("sdafaf")) # print(strongwork_4(['d','v ','f '])) # print(strongwork_4(('d','','f'))) # 5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。 def strongwork_5(str_5): str_4 = [] if len(str_5) > 2: str_4.append(str_5[0]) str_4.append(str_5[1]) str_5 = str_4 return str_5 # print(strongwork_5(['d','v ','f '])) # print(strongwork_5(['d','a'])) # 6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。 def strongwork_6(str_6): count = 1 str_66 = [] while True: if count <= len(str_6): str_66.append(str_6[count-1]) count += 2 else: break return str_66 # print(strongwork_6(['d','v ','f '])) # 7、写函数,检查传入字典的每一个value的长度, 如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。 def strongwork_7(dic_7): dic_new = {} new_1 = "" new_2 = "" for i in dic_7: if len(dic_7[i]) > 2: new_1 = dic_7[i][0] new_2 = dic_7[i][1] dic_new[i] = str(new_1) + str(new_2) return dic_new dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]} print(strongwork_7(dic)) # PS: 字典中的value只能是字符串或列表