主要做用: python
集合也是一种数据类型,一个相似列表东西,它的特色是无序的,不重复的,也就是说集合中是没有重复的数据linux
#集合定义 list_1 = [1,2,3,4,5,3,6,] list_dict = {1,2,3,4,5,6,7,6,8} #集合操做 list_1 = set(list_1) #建立一个惟一的字符集---去重 print(set(list_dict)) #建立一个惟一的字符集---去重 print(list_1,type(list_1)) list_2 = set([2,6,0,66,22,8,4]) print(list_1.intersection(list_2)) #交集 -取出重复的数字 print(list_1.union(list_2)) #并集 去重-统一显示 {0, 1, 2, 3, 4, 5, 6, 66, 8, 22} print(list_1.difference(list_2)) #差集 取出list_1有,list_2没有的 list_3 = set([1,3,6]) print(list_3.issubset(list_1)) #子集 list_3的值在list_1全有 print(list_1.issuperset(list_3))#父集 print(list_1.symmetric_difference(list_2))#对称差集-list_1,list_2互相没有的取出来 list_4 = set([7,8,9,3]) print(list_3.isdisjoint(list_4)) #返回True,若是两个参数有一个零交叉点 print("-------------") print(list_1 & list_2) #交集 print(list_1 | list_2) #并集 print(list_1 - list_2) #差集 list_1不带list_2 print(list_1 ^ list_2) #对称差集 #集合操做 print("-----集合操做--------") list_1.add(999) #添加 print(list_1) list_1.update([777,888]) #添加多项f print(list_1) list_1.remove(999) #删除 print(list_1) list_1.pop() #随机删除 print(list_1) list_1.discard(888) #删除 print(list_1)
open函数,该函数用于文件处理windows
操做文件时,通常须要经历以下步骤:ide
准备文件保存为file.txt格式:函数
1 北国风光,千里冰封,万里雪飘。 2 3 望长城内外,唯余莽莽;大河上下,顿失滔滔。 4 5 山舞银蛇,原驰蜡象,欲与天公试比高。 6 7 须晴日,看红装素裹,分外妖娆。 8 9 江山如此多娇,引无数英雄竞折腰。 10 11 惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。 12 13 一代天骄,成吉思汗,只识弯弓射大雕。 14 15 俱往矣,数风流人物,还看今朝。
文件基本操做测试
1 f = open('file.txt', 'r') #以只读方式打开一个文件,获取文件句柄,若是是读的话,r能够不写,默认就是只读 2 frist_line = f.readline() # 获取文件的第一行内容,返回的是一个list 3 print(frist_line) # 打印第一行 4 res = f.read() # 获取除了第一行剩下的全部文件内容 5 print(res) 6 f.close() # 关闭文件
1 f = open("file.txt",'r+',encoding="utf-8") #文件句柄-文件的内存对象(文件名,字符集,大小。。) 2 print(f.read()) #读取整个文件 3 print(f.readline()) #读取一行 4 print(f.readlines()) # 按行存成列表 5 lens = len(open('file.txt','rU').readline()) 6 print(lens) #打印文件共有多少行 7 for i in f.readlines()[2:lens]: # 指定文件行数读取 #从第2行到结尾 8 print(i) 9 print(f.readline()) 10 print(f.tell()) #计算字节数 11 f.seek(3) #返回光标 12 print(f.readline()) 13 print(f.encoding) #打印字符集 14 print(f.fileno()) #返回文件句柄在内存的编号 3 15 print(f.name) #打印文件名 16 print(f.seekable()) #判断文件光标是否能移动 True 17 print(f.readable()) #判断文件是否可读 True 18 print(f.writable()) #判断文件是否可写 False 19 f.flush() #刷新 20 f.truncate(10) #文件清空 不传入值清空文件,传值从头开始截断
1 #刷洗方法使用 进度条 2 import sys,time 3 for i in range(50): 4 sys.stdout.write('#') 5 sys.stdout.flush() #刷新 进度条 6 time.sleep(0.1)
文件循环操做编码
1 f = open("file.txt", 'r', encoding="utf-8") 2 f_new = open('file.bak', 'w', encoding='utf-8') 3 for line in f: 4 if '江山如此多娇,引无数英雄竞折腰' in line: 5 line = line.replace('江山如此多娇,引无数英雄竞折腰', '春色满园关不住,一枝红杏出墙来.') # if username == line .strip(): 6 f_new.write(line) 7 f.close() 8 f_new.close()
with使用:spa
1 # 同时打开多个文件格式: 2 # with open('file.txt', 'r', encoding='utf-8') as f, open('file.bak', 'r', encoding='utf-8') as j: 3 4 with open('file.txt', 'r', encoding='utf-8') as f: # 自动关闭文件 5 for line in f: 6 print(line) 7 # 同时打开多个文件建议写成 8 with open('file.txt', 'r', encoding='utf-8') as f, \ 9 open('file.bak', 'w', encoding='utf-8') as j: 10 for line in f: 11 if '江山如此多娇,引无数英雄竞折腰' in line: 12 line = line.replace('江山如此多娇,引无数英雄竞折腰', '春色满园关不住,一枝红杏出墙来.') # if username == line .strip(): 13 j.write(line)
1 import sys 2 print(sys.getdefaultencoding()) # 获取当前系统字符集 3 msg = "我爱北京天安门" 4 # 这里能够看到咱们解码(decode)成unicode,告诉他咱们是utf-8转成unicode,紧接着咱们又编码(encode) 这时咱们须要告诉计算机,咱们要编码的字符集 这里咱们要编码成gb2312的格式 5 msg_gb2312 = msg.encode("gb2312").decode('gb2312') 6 # msg_gb2312 = msg.encode("gb2312") 7 print(msg_gb2312) 8 # print(msg_gb2312.decode('gb2312')) 9 # ok 之后的字符集编码转换也就相通了,只要记住要们是以unicode来完成中间转换的就好 10 #gb2312_to_gbk = msg_gb2312.encode("gbk").decode("gbk") 11 gb2312_to_gbk = msg_gb2312.encode("gb2312").decode("gb2312") 12 print(gb2312_to_gbk)