day08读取文件
2024-10-14 16:05:22
可参考;https://www.cnblogs.com/gengcx/p/6713646.html
主要内容:
1.只读
2.只写
3.追加
4.r+读写
5.w+写读
6.a+写读
7.其他
一、使用python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取文件句柄。
打开文件的方式:r,w,a,r+,w+,a+,rb,wb,ab,r+b,w+b,a+b默认的是r(只读)模式
二、只读操作(r,rb)
f = open(aa.txt,mode='r',encoding='utf-8')
content=f.read()
print(content)
f.close()
注意:encoding表示编码集,根据文件的实际保存编码进行获取数据,更多的时候使用的是utf-8
一种新的文件读取方式:
2. rb.读取出的数据是字节bytes类型,所以一般用来读取非文本文件,比如MP3,图像
,在rb模式下,不能选择encoding
f = open(CCZ/aa.txt,mode='rb') # 文件夹CCZ下的aa文件 ../表示上一层文件夹
bs=f.read()
print(bs.decode("utf-8"))
f.close()
3. 相对路径和绝对路径
../表示上一层文件夹
4.读取文件的方法:
1.read() :将文件全部读取出来。 弊端:文件不宜过大
2.read(n) :读取n个字节,如果继续读取或从当前位置继续而不是从头开始
f = open(CCZ/aa.txt,mode='rb') # 文件夹CCZ下的aa文件 ../表示上一层文件夹
bs=f.read(3) # 读取3个字节
print(bs.decode("utf-8"))
f.close()
5 其他操作
5.1seek(n) 光标移动到n位置,移动的单位是byte,如果是utf-8的中文部分要是3的倍数
一般,使用seek()都是移动到开头或者结尾
seek(0)
seek(0,2),seek()里面的第二个参数:从哪个位置进行偏移,默认是0,表示开头,1表示当前位置,2表示结尾。
5.2 tell()使用tell()可以帮助我们获取当前光标在什么位置
f = open(CCZ/aa.txt,mode='r+') # 文件夹CCZ下的aa文件 ../表示上一层文件夹
f.seek(6) # 光标移动到6字节
bs=f.read(3) # 读取文件的3个字节
print(bs.decode("utf-8"))
f.close() 5.3 读取两个文件的内容。
5.4 readline()一次读取一行数据,每次读取的数据末尾都会有一个\n,需要用strip()方法来去掉
最新文章
- 高分辨率下IE浏览器缩放导致出现右侧滚动条问题的解决
- view抖动效果
- Maven 命令操作项目
- hdu 2570
- unity3d 破解安装
- lintcode:Search Insert Position 搜索插入位置
- Linq编程101例
- [转] What is Ec/Io (and Eb/No)?
- iOS 多线程NSThread理解与场景示例
- java 类方法和实例方法 以及 类变量和实例变量
- C#判断画的图形是不是三角形
- 12个 Linux 中 grep 命令的超级用法实例
- [转帖]ODBC、OLEDB、ADO、ADO.NET
- python数据处理 pandas用法大全
- Error when loading the SDK 发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素
- ShaderLab学习总结
- ES6中声明变量 let和const特点
- 安装并使用pt-ioprofile
- less初识
- VMware workstation 设定开机引导等待时间
热门文章
- ionic app打包和签名
- C++ 11 Lambda表达式
- 基于raspberry搭建个人web server
- ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门
- stereoscopic 3D
- 关于MongoDB数据库的日志解析
- [20190415]11g下那些latch是共享的.txt
- c/c++ 多线程 等待一次性事件 future概念
- python 3.7 配置mysql数据库
- Windows server 2012 R2 部署WSUS补丁服务