日期:2019年8月3日
作者:Commas
注释:Python写了一个文件复制的小项目,顺便总结一下python的文件操作知识,巩固巩固知识。此笔记可能会有一些错误和疏漏,望指正,谢谢~~~
如果您想了解更多有关Python的知识,那么请点【我】
《我的Python浅谈系列目录》
一、Python3文件操作小总结
(1) Python3读写文件的语法
(1-1)读写文件概念:
- 读文件:文件内容 → 内存(将文件内容加载到内容)
- 写文件:内存内容 → 文件(将内存内容写入到文件)
- 平台无关性,python不依赖底层操作系统的文本文件概念,所有的处理都是由python本身完成的,因此与平台无关。
- 文件指针:标记着从哪个位置开始读取或写入数据;
打开文件,通常文件指针会指向文件的开始位置;
读写操作,通常文件指针会指向“当前操作指针的下一行”。
(1-2)读写文件语法:
# 简洁语法(后续我们以此讲述):
open(file, mode='r', encoding=None)
# 完整语法:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
(1-3)参数说明:
- file:文件路径,比如C盘桌面的text.txt文件,
file = “C:/Users/Commas/Desktop/text.txt”;
或 file = “C:\Users\Commas\Desktop\text.txt”; - mode:文件读写模式,默认为读文件模式(后续有详细说明);
- encoding:编码方式,默认为None,
编码有utf-8、ansi、gbk……
(1-4)使用说明
- 使用三部曲:创建对象–>操作对象–>关闭对象(推荐习惯);
- open()函数返回一个文件对象,此对象有4个方法,如下:
序号 | 方法 | 说明 |
---|---|---|
1 | read() | 读取文件所有内容,加载到内存中 ;此方法适用于小文件操作 |
2 | readline() | 读取当前文件指针中的一行内容,加载到内存中;此方法适用于大文件操作 |
3 | write(text) | 将制定内容写入到文件中去,其中text为指定的内容 |
4 | close() | 关闭对象,这个操作一定要做,否则会造成系统资源消耗 |
(2) Python3参数之mode解说
序号 | mode 参数 | 说明 |
---|---|---|
1 | r | 读文件模式 |
2 | w | 写文件模式,首先会截断文件(清空文件内容,但不删除文件) |
3 | x | 以独占创建方式打开,若文件存在,则创建失败 |
4 | a | 追加写入模式,若文件存在,则追加写入到文件结尾;若不存在,则新建文件 |
5 | B | 以二进制模式读写,rb为二进制读文件模式;wb为二进制写文件 |
6 | + | 打开磁盘文件进行更新(读/写),r+为读文件模式并且“时时”更新;w+为写文件模式并且“时时”更新。因为要“时时”移动文件指针,所以此模式读写文件效率就会有所降低 |
二、Python3文件操作小示例
(1)读文件示例
# 写文件三部曲:创建对象-->操作对象-->关闭对象(推荐习惯)
# NO1:一次性读取所有文件内容,适用于读取小文件
file_name = "C:\\Users\\Commas\\Desktop\\text.txt"
# (1)创建读文件对象
file_read = open(file_name, mode="r", encoding="utf-8")
# (2)读取文件中所有内容
text = file_read.read()
# (3)关闭读文件对象
file_read.close()
# 写文件三部曲:创建对象-->操作对象-->关闭对象(推荐习惯)
# NO2:一行一行读取文件内容,适用于读取大文件
file_name = "C:\\Users\\Commas\\Desktop\\text.txt"
# (1)创建读文件对象
file_read = open(file_name, mode="r", encoding="utf-8")
# (2)一行一行读取文件内容
while True:
text = file_read.readline() # 读取一行内容
# 判断是否读到内容
if not text:
break
print(text, end="") # 每读取一行的末尾已经有了一个"\n"
# (3)关闭读文件对象
file_read.close()
(2)写文件示例
# 写文件三部曲:创建对象-->操作对象-->关闭对象(推荐习惯)
file_name_bac= "C:\\Users\\Commas\\Desktop\\text_bac.txt"
# (1)创建写文件对象
file_write = open(file_name_bac, mode="w", encoding=cur_encoding)
# (2)在文件中写入"Hellow Python"
file_write.write("Hellow Python")
# (3)关闭写文件对象
file_write.close()
本文参考:python372.chm
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/98331312