day08 文件操作

Posted daien522556

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day08 文件操作相关的知识,希望对你有一定的参考价值。

1. 初识?文件操作 2. 只读(r, rb) 3. 只写(w, wb) 4. 追加(a, ab) 5. r+读写 6. w+写读 7. a+写读(追加写读) 8. 其他操作?方法 9. ?文件的修改以及另?一种打开?文件句句柄的?方式

2  只读操作(r, rb)

    需要注意encoding表?示编码集. 根据?文件的实际保存编码进?行行获取数据, 对于我们?而?言. 更更 多的是utf-8.    rb. 读取出来的数据是bytes类型, 在rb模式下. 不能选择encoding字符集.

f = open("护?士少妇嫩模.txt",mode="r", encoding="utf-8") 
content = f.read() 
print(content) f.close(

  

   rb的作?用: 在读取?非?文本?文件的时候. ?比如读取MP3. 图像. 视频等信息的时候就需要?用到 rb. 因为这种数据是没办法直接显?示出来的.  在后?面我们?文件上传下载的时候还会?用到. 还有.
我们看的直播. 实际上都是这种数据. 

f = open("护?士少妇嫩模.txt",mode="rb" )
 content = f.read() 
print(content) f.close() 
结果: b‘xe6xafx85xe5x93xa5, xe5xa4xaaxe7x99xbd, wuse
xe5x91xb5xe5x91xb5
xe6x97xa5xe5xa4xa9‘ 

  3 绝对路径和相对路径:

1. 绝对路路径:从磁盘根?目录开始?一直到?文件名.

2. 相对路路径:同?一个?文件夹下的?文件. 相对于当前这个程序所在的?文件夹?而?言. 如果在同 ?一个?文件夹中. 则相对路路径就是这个?文件名. 如果在上?一层?文件夹. 则要.返回上层文件然后在进入

3 readline() ?一次读取?一?行行数据, 注意: readline()结尾, 注意每次读取出来的数据都会有?一 个 所以呢. 需要我们使?用strip()?方法来去掉 或者空格

4. readlines()将每?一?行行形成?一个元素, 放到?一个列列表中. 将所有的内容都读取出来. 所以 也是. 容易易出现内存崩溃的问题.不推荐使?用

f = open("../def/哇擦.txt", mode="r", encoding="utf-8")
 lst = f.readlines() 
print(lst)
 for line in lst:    
print(line.strip())

 5. 读写模式(r+, r+b)    对于读写模式. 必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了了之后再进?行行 写入. 我们以后使?用频率最?高的模式就是r+ 

所以记住: r+模式下. 必须是先读取. 然后再写入

6 写读(w+, w+b)    先将所有的内容清空. 然后写入. 最后读取. 但是读取的内容是空的, 不常?用

   有?人会说. 先读不就好了了么? 错. w+ 模式下, ?一开始读取不到数据. 然后写的时候再将原来的内容清空. 所以, 很少?用.

7追加读(a+)    a+模式下, 不论先读还是后读. 都是读取不到数据

8. seek(n) 光标移动到n位置,  注意, 移动的单位是byte. 所以如果是UTF-8的中?文部分要 是3的倍数.        通常我们使?用seek都是移动到开头或者结尾.         移动到开头: seek(0)        移动到结尾: seek(0,2)  seek的第?二个参数表?示的是从哪个位置进?行行偏移, 默认是0,  表 ?示开头, 1表?示当前位置, 2表?示结尾  

  2. tell() 使?用tell()可以帮我们获取到当前光标在什什么位置

  3. truncate() 截断?文件

  注: 深坑请注意: 在r+模式下. 如果读取了了内容. 不论读取内容多少. 光标显?示的是多少. 再写入 或者操作?文件的时候都是在结尾进?行行的操作. 所以如果想做截断操作. 记住了了. 要先挪动光标. 挪动到你想要截断的位置. 然后再进?行行截断 关于truncate(n), 如果给出了了n. 则从开头开头进?行行截断, 如果不给n, 则从当前位置截断. 后?面 的内容将会被删除

9  修改?文件以及另?一种打开?文件的?方式    ?文件修改: 只能将?文件中的内容读取到内存中, 将信息修改完毕, 然后将源?文件删除, 将新 ?文件的名字改成老?文件的名字.

 


以上是关于day08 文件操作的主要内容,如果未能解决你的问题,请参考以下文章

反射机制入门

day08(文件操作)

Python之路day08-文件读写操作_函数初识

文件元数据文件夹操作(day08)

day08 文件操作

day 08 文件操作