python-day03-File
来源:互联网 发布:笔记本无线蹭网软件 编辑:程序博客网 时间:2024/06/08 15:41
简介:
今天要介绍的就是Python的文件读写操作,因为以后开发肯定也是会使用到的一个重要功能;
(1)读操作
对比与Python2,Python3对于文件读取功能进行了更简便的更新,只需使用open函数即可:
open():
def open(file, mode='r', encoding=None): # known special case of open
这是截取了一部分的官方文档,这是我们一般会用的三个参数
第一个file为文件名或文件名地址
第二个为操作模式,默认为读操作
第三个为字符编码模式
官方文档给出的基本文件操作模式:
========= =============================================================== Character Meaning --------- --------------------------------------------------------------- 'r' open for reading (default) 读操作 'w' open for writing, truncating the file first 写 'x' create a new file and open it for writing新建新的文件并进行写操作 'a' open for writing, appending to the end of the file if it exists打开文件并进行末尾追加写入 'b' binary mode 二进制 't' text mode (default) '+' open a disk file for updating (reading and writing) 'U' universal newline mode (deprecated) ========= ===============================================================
基本实现方法:
f = open("actor","r",encoding="utf-8") #获取文件句柄data = f.read();print(data)
解释:“actor”为文件名,同目录下可以直接带入文件名即可,选择读操作,因为国内电脑编码问题,
我们需要自己指定为“utf-8”,否则会报错
上面的操作的操作是将文件内容进行全部读取,并打印出来,因为是全部读取,不能进行更多的操作。
有时想要进行必要操作,就要使用readline()或指定参数的read()来进行才做
例子:
f = open("actor","r",encoding="utf-8") #获取文件句柄#指定参数则只读取5个字符data = f.read(5);print(data)for i in range(5): data = f.readline() print(data)f.close()
readline()是用于使用光标一行一行的进行读取,所以使得操作更可控
在里面还有另外一个相似的方法,叫做readlines(),这个方法是先读取文件,并以换行符为标记,一行行的存入一个
列表中,所以会有以下读取操作:
for line in f.readlines(): print(line.strip()) #strip()去除空格和换行符for index,line in enumerate(f.readlines()): if index==9: print("-------第十行分隔符-----------") # print(line.strip()) else: print(line.strip())
注意:因为readlines是先进行读取,然后再以列表的形式暂时存入内存中,文件内容不大时并没有什么影响
但是文件过大就会非常影响效率和占用内存
小知识点:操作光标
无论读写,有时候都可能需要指定光标,所以就有了tell()和seek()这两个基础函数:
print(f.tell()) #tell用于输出光标位置print(f.seek(0)) #seek可操作光标位置,参数就是需要指定到达的位置
(2)写操作
就像上面给出基本的操作模式中,就有几个不同的写操作,每一个都不太相同,所以使用时需要额外小心
不然就容易把之前的数据清空掉
看例子:
f = open("actor","w",encoding="utf-8") #获取文件句柄w.write("Hello World!")
结果:
因为写操作会新建文件并把旧文件被覆盖掉,所以要谨慎使用
以下是追加操作:
f = open("actor","a",encoding="utf-8") #写读模式f.write("Hello Python!")
(3)读写操作
读写操作也是一个重要的知识点,只是因为计算机硬件和电脑软件的原因,读写操作并不能实现想象中的能一边读
一边写的功能
而要使用读写功能,就要使用到操作模式中的“+”符号进行。
下面是我上网找到不同功能的读写操作符号:
读写操作需要的注意点跟写操作一样,有些操作是会覆盖的,所以使用时最好查清楚模式的作用,以防万一!
- python-day03-File
- Python-learning Day03
- Python-Day03-函数
- python学习笔记day03 Number
- day03
- day03
- day03
- day03
- day03
- day03
- day03
- day03
- day03
- day03
- day03
- day03
- Day03
- day03
- Linux下安装JDK
- 112. Path Sum
- 利用OpenCV查找圆[HoughCircles]
- HTTP重定向负载均衡
- css网页大于屏幕分辨率,打开网页让网页居中显示
- python-day03-File
- 35 个 Java 代码性能优化总结
- 润乾报表v5通过权限控制数据访问方案
- 仪器仪表信息化系统对企业的三大好处
- NOIP模拟9.27
- 单例模式
- MAC下快速打开指定目录
- size_t类型
- [HNOI2012]永无乡