<html> ? python学习第七天课后总结: 今日内容: 一,,字符编码:其实就是人类的语言与机器的语言进行转化的一种媒介。 ? 1,人类语言与机器语言对照关系的结构被称为:编码表 ? 常用编码表大致有以下几个: ? 1> ascii (ASCII) 现为今出现最早的编码表,采用一个字节来存储字母却无法编码汉字 ? 2> GBK 这个是专门为中文来制作的编码,国人专用 ? 3> Shift_JIS 日文使用的文件编码方式 ? 4> Euc-kr 韩文使用的编码方式 ? 3> Unicode 内部集成asscii的内容,并可以作为万国语言编码使用,采用二个字节 存汉字,同样二个字节存字母 ? 特点:使用固定长度字节存储数据,但占用空间较多,但读取的效率却较高 ? 4> UTF-8 跟Unicode一样,集成了ascii的编码,它其实是Unicode的一种表现式。 采用1个字节存字母,采用3-6个字节存汉字,不固定的存储长度。当大 量数据以英文形式存储时,UTF-8更具优势。传输更快。 ? 特点:使用时占用空间较少,读取效率较底 ? 总结:Unicode是作为万国编码来使用,集成各国的语言编码。电脑的内存是按照Unicode的编码形式 来存储数据的,硬盘则是按照UTF-8的编码形式来存储数据的。UTF-8也是采用Unicode的编码, ? python2 是按照ascii编码来进行文件编码 ? python3 是按照UTF-8来进行文件编码 ? 文件头:在进行文件操作时,要在代码第一行标使用的文件编码方式,让python解释器识别文件操作时使用 的编码方式。使用解释器按照指定的编码来解释文件的内容 ? 文件操作: 其实就是对电脑硬盘上的一块指定区域进行读与写的操作。 ? **乱码: 乱码的形成是因为存储数据时与读取数据时使用的编码方式不同,所以才会产生乱码 二,文件的操作: ? 文件操作的步骤:1> 首先要打开文件:格式: f = open(文件绝对路径,操作模式,编码方式) ? 文件 :要提供绝对路径,方便程序识别文件位置 ? 文件打开方式二种:1》 f = open(Source_File,"r",encoding="utf-8") ? 2》 with open(Source_File,"r",encoding="utf-8") as f ? 二种方式都表示以只读方式,编码为"UTF-8"的格式打开 Source_File这个文件 ? Source_File = r"/Users/evo/Desktop/python/Class/test.txt" 指定要操作的文件的绝对路径 ? 操作模式:分为主模式与从模式: ? 主模式分为 1 "r" 默认只读模式,只能读取,不能进行其它操作 默认文件的指针在文件开头 ? 例: f = open(Source_File,"r",encoding="utf-8") 以只读方式打开Source_File ? 2 "w" 表示写操作,不能进行读取,如文件存在,则覆盖 ? 如不存在,则创建文件 ? 例:f = open(Source_File,"w",encoding="utf-8") 以写的方式打开一个文件 ? 3 "a" 打开一个文件用于追加,如文件存在,文件指针在 ? 文件的结尾,新的内容从原文件内容的结尾开始追回 ? 例:f = open(Source_File,"a",encoding="utf-8") 以追加模式打开文件 ? 从模式分为:1:"b" 表示文件内容以二进制字节形式操作 ? 2: "t" 按照字符的形式操作 ? 3: "+" 表示操作时即可读取,也可写入 ? 2> 操作文件:主要是文件的读与写 ? 文件的读取: f.read() 文件按字节读取: ? 括号后可指定一次性读取的字节数量,默认读取文 件的全部内容,如果文件较大,不能使用此方法 ? f.readline() 文件按行读取 ? 括号内可指定一次性读取的行数,哪不指定,默认 为每次读取文件一行的内容 f.readlines() 文件按行读取,并汇成一个列表,文件每一行 的内容便成为列表中的一个元素 ? ? 3> 关闭文件 。这一步非常重要,如果不关闭文件,操作大容量文件容易内存溢出 ? ,且因为文件的操作是存储在内存中,如遇断电,数据容易丢失。所以在文件操作 完毕后,在要后面加上 f.close() 来结束整个文件操作的流程 ? *******************************使用 with open() as f: 方式打开文件,不用考虑关闭文件的问题。 打开文件: **open(****文件名,访问模式)** 关闭文件:**close(****文件名,访问模式)** **访问模式:** ? r 以只读方式打开 **默认**指针在文件开头 ? w 打开文件用于写入,如存在,则覆盖,如不存在,则创建 ? a 打开一个文件用于追加,如文件存在,文件指针将会在文件的结尾,新的内容会写入到已有的内容之 后,如文件不存在,则创建 ? rb 以二进制格式打开,用于只读,文件指针在文件开头。 ? wb 以二进制格式打开只用于写入, ? ab 以二进制格式打开文件用于追加,如文件存在,指针将会在文件结尾,如不存在,创建新文件写入 ? r+ 打开一个文件用于读写,指针将会放在文件开头 ? w+ 打开一个文件用于读写,如文件存在,指针在文件结尾,如文件不存在,创建新文件用于读写 ? rb+ 以二进制打开一个文件用于读写,指针在文件开头 ? wb+ 以二进制打开一个文件用于读写,如存在,则覆盖,如不存在,则创建 ? ab+ 以二进制打开一个文件用于追加,如文件存在,指针在结尾,如不存在,创建新文件用于读写 文件拷贝实例: ```python source_file = r"/Users/aibapspl/Desktop/info/Search_Memo.txt" #定义一个源文件 Dst_file = r"/Users/aibapspl/Desktop/info/dst_test.txt" #定义一个目标文件 with open(source_file,"r",encoding="utf-8") as f: #使用只读方式打开源文件,并赋值给f with open(Dst_file,"a",encoding="utf-8") as f1: #使用追加方式打开目标文件,并赋值给f1 for i in f: #迭代读取源文件的内容,并每次赋值给i f1.write(i) #把每次迭代获得的数据写入目标文件 #到此 文件复制已经完成 ```
原文地址:https://www.cnblogs.com/aibapspl/p/10602700.html
时间: 2024-11-05 06:26:24