day08读取文件
可参考;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()方法来去掉

day08读取文件的更多相关文章
- Java 创建文件夹和文件,字符串写入文件,读取文件
两个函数如下: TextToFile(..)函数:将字符串写入给定文本文件: createDir(..)函数:创建一个文件夹,有判别是否存在的功能. public void TextToFile(fi ...
- C#读取文件为byte[]
C#读取文件为byte[] 转载请注明出处 http://www.cnblogs.com/Huerye/ /// <summary> /// 读取程序生成byte /// </sum ...
- HTML5的File API读取文件信息
html结构: <div id="fileImage"></div> <input type="file" value=" ...
- 关于一些对map和整行读取文件操作
public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...
- 使用java读取文件夹中文件的行数
使用java统计某文件夹下所有文件的行数 经理突然交代一个任务:要求统计某个文件夹下所有文件的行数.在网上查了一个多小时没有解决.后来心里不爽就决定自己写一个java类用来统计文件的行数,于是花了两个 ...
- Matlab 读取文件夹中所有的bmp文件
将srcimg文件下的bmp文件转为jpg图像,存放在dstimg文件夹下 str = 'srcimg'; dst = 'dstimg'; file=dir([str,'\*.bmp']); :len ...
- JavaWeb中读取文件资源的路径问题
在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileInputStrem等文件字节.字符流来将这个文件读取到内存 ...
- File API 读取文件小结
简单地说,File API只规定怎样从硬盘上提取文件,然后交给在网页中运行的JavaScript代码. 与以往文件上传不一样,File API不是为了向服务器提交文件设计的. 关于File API不能 ...
- php函数fgets读取文件
如果一个文件比较大,可以考虑用fgets函数 下面是个例子: #文件作用:fgets读取文件 $start_time = microtime(true); $file_name = "a.t ...
随机推荐
- 设计模式系列之单例模式(Singleton Pattern)
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式.这种模式涉及到一个单一的类,该类负责创建自己的对象 ...
- QT中pro文件编写的详细说明
如果用QTCreator开发的小伙伴,可能都知道.pro文件,但是里面的具体配置可能比较模糊,今天我就来给大家好好讲解下 一.名称解释 QT += :这个是添加QT需要的模块 TARGET = :生成 ...
- 2019Java查漏补缺(三)
1.为什么这个public的类的类名必须和文件名相同 是为了方便虚拟机在相应的路径中找到相应的类所对应的字节码文件 2.java8 的一些新特性: 3: 数据库隔离级别 隔离级别 ...
- Vue双向绑定原理,教你一步一步实现双向绑定
当今前端天下以 Angular.React.vue 三足鼎立的局面,你不选择一个阵营基本上无法立足于前端,甚至是两个或者三个阵营都要选择,大势所趋. 所以我们要时刻保持好奇心,拥抱变化,只有在不断的变 ...
- tofixed方法 四舍五入
tofixed方法 四舍五入 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字.例如将数据Num保留2位小数,则表示为:toFixed(Num):但是其四舍五入的规则与数学中的 ...
- 云服务器挂载/dev/vdb1磁盘
1.首先检查是否有一块硬盘还未被挂载 2.如图所示,vdb还未被使用,开始分配它吧 [root@localhost ~]# fdisk /dev/vdb Command (m for help): n ...
- c/c++ 继承与多态 引用有的时候并不能达到多态的效果
继承与多态 引用有的时候并不能达到多态的效果 问题:c++ primer 第五版说,只有指针和引用调用虚函数时才会发生动态绑定(多态).实践一下,发现引用有的时候不能发生多态绑定(多态). 下面的例子 ...
- C# -- 使用委托 delegate 执行异步操作
C# -- 使用委托 delegate 执行异步操作 委托是一种安全地封装方法的类型,它与 C 和 C++ 中的函数指针类似. 与 C 中的函数指针不同,委托是面向对象的.类型安全的和保险的. 委托的 ...
- SQLServer之创建Transact-SQL DDL触发器
DDL触发器原理 DDL 触发器用于响应各种数据定义语言 (DDL) 事件. 这些事件主要与以关键字 CREATE.ALTER.DROP.GRANT.DENY.REVOKE 或 UPDATE STAT ...
- 软件设计之Deep Module(深模块)
类是不是越小越好?最近在读John Ousterhout的<A Philosophy of Software Design>,感到作者文笔流畅,书中内容具有启发性.这里摘要一部分内容,以供 ...