标签:with open close unicode编码 相对 根据 变量 存在 转化 大量
‘‘‘ 重点:什么是字符编码 人类能识别的是字符等高级标识符,电脑只能识别0/1,要完成人与机器之间的信息交流 一定需要一个媒介,进行两种标识符的转化(两种标识符的对应关系) 对应关系形成的结构称之为:编码表 乱码:存数据与读数据采用的编码表不一致 编码表:人能识别的字符标识符与计算机能识别的01标识符相对应的结构 万国编码:unicode/utf-8 1、采用的都是unicode编码表 2、unicode以定长(3字节)存储数据 3、utf-8以变长(1-6字节)存取数据 unicode与utf-8采用的是同一张编码表,utf-8是unicode编码表的体现方式,变长存储数据 变长优点:(大量数据都是以英文存在,所以utf-8空间更小),传输速度更快 ‘‘‘
unicode字符串,默认字符串 s1 = u‘asjdnk鸟蛋\n你好‘ 字节字符串 s2 = b‘abc123\xb7\xb7‘ 原义字符串:不对字符串内部做任何操作 s3 = r‘asjdnk鸟蛋\n你好‘ 编码与解码 网络编程中,服务器和浏览器只认bytes 类型数据 s = ‘123呵呵呵‘ n_b = bytes(s,encoding=‘utf-8‘) print(n_b) b = b‘123\xe5\x91\xb5\xe5\x91\xb5\xe5\x91\xb5‘ n_s = str(b,encoding=‘utf-8‘) print(n_s) 重点:***** 将u字符串编码成b字符串 print(u‘你好‘.encode(‘utf-8‘)) 将b字符串解码成u字符串 print(b‘\xe4\xbd\xa0\xe5\xa5\xbd‘.decode(‘utf-8‘))
‘‘‘ 文件:硬盘中一块存储空间(虚拟文件) 文件操作:根据文件名来操作硬盘的那块存储空间,操作方式:读/写 一、使用文件的步骤 二、基本的读写 三、常用的方法(变量) 四、文件操作的案例 ‘‘‘
一、使用文件的三步骤 1、打开文件 变量名 = 文件空间 open(文件路径 操作模式(读|写) 编码) f = open(r‘a.txt‘,mode=‘r‘,encoding=‘utf-8‘) 2、操作文件 date = f.read(2) #将所有内容读取出来,如果设置读取长度,按规定字节长度读取数据 print(date) 一次读取一行 line = f.readline() print(line) 按行一次性全部读出 lines = f.readlines() print(lines ) # [‘phs\n‘, ‘shige\n‘, ‘laingzai\n‘, ‘嘿嘿‘] 逐步一行一行读取 # 结果同上 l = [] for line in f: l.append(line) print(l) s = set() # 去除重复的数据 for line in f: s.add(line) print(s) 3、关闭文件 # 释放操作系统对文件的持有,变量f还被应用程序持有 f.close() 二、 模式 ‘‘‘ 主模式:r:读| w:写 |a :追加 从模式:b:按字节操作 | t : 按字符操作 | +:可读可写 了解:x : 异常| u :被遗弃 ‘‘‘ 基础写(w): 文件不存在:会新建文件,再操作文件 文件存在:会先清空文件,再操作文件 f = open(r‘b.txt‘, mode=‘w‘, encoding=‘utf-8‘) f.write(‘wawawawwaw,好开心‘) f.close() with open(r‘b.txt‘, mode=‘w‘, encoding=‘utf-8‘) as f: f.write(‘2131465‘)
标签:with open close unicode编码 相对 根据 变量 存在 转化 大量
原文地址:https://www.cnblogs.com/penghengshan/p/10600767.html