标签:解释器 spl pytho 打开文件 asc 字节 odi write 专用
<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) #把每次迭代获得的数据写入目标文件
#到此 文件复制已经完成
```
标签:解释器 spl pytho 打开文件 asc 字节 odi write 专用
原文地址:https://www.cnblogs.com/aibapspl/p/10602700.html