一、文件分类
文本文件:由单一特定编码组成的文件,比如utf-8 编码、GBK 编码等,.py 与 .txt 等都属于文本文件。但是文本文件本质上是以二进制形式存储的。
二进制文件:直接由 0 和 1 组成,没有统一的字符编码。比如:.png 与 .avi等都属于二进制文件。
二、文件打开模式
要获取一个文件对象,只需要使用 Python 内置 的 open()函数即可,在 open() 函数中可以指定要打开的文件名
f = open("1.txt", "r")
上面open() 函数第一个参数表示文件名,第二个参数表示打开文件的模式,r 表示只读。
下面是一些文件打开模式
| 文件打开模式 | 描述 |
|---|---|
| r | 只读模式,默认的打开模式,如果文件不存在报错 |
| w | 覆盖写模式,文件不存在创建,存在完全覆盖 |
| x | 创建写模式,文件不存在创建,存在报错 |
| a | 追加写模式,文件不存在创建,存在在最后追加内容 |
| b | 二进制文件模式 |
| t | 文本文件模式 |
| + | 与 ‘r w x a’一起使用,在原基础上增加读写功能 |
三、读文件
文件读取涉及到的函数:
f.read(size):默认读取文件的全部内容,如果指定参数值,读取前size个长度f.readline(size):默认读取一行内容,如果指定参数值,读取该行前size个长度f.readlines():读入文件的所有行,以行为分割点,返回一个列表
按文本格式一次全部读入:
f = open("test.txt", "rt", encoding="utf-8") # encoding 用于指定打开文件的编码格式
txt = f.read()
print(txt)
f.close()
按二进制格式一次全部读入:
f = open("test.txt", "rb") # 十六进制表示的字节
分行读入:
f = open("test.txt", "rt", encoding="utf-8")
txt = f.readlines()
for line in txt:
print(line)
f.close()
四、写文件
文件写入涉及到的函数:
f.write(str):向文件写入一个字符串或字节流f.writelines(list):将一个列表中的元素写入文件f.seek(offset):改变当前指针的位置,offset的含义如下:0-位于文件的开头处,1-位于当前位置,2-位于文件的结尾
写文件:
f = open("test.txt", "a", encoding="utf=8") # 'a' 表示追加写模式,不会覆盖原来的文本内容
ls = ["\n嘿嘿~", "哈哈~"]
f.writelines(ls) # 将列表中的元素写入文件
f.close()
读写文件:
f = open("test.txt", "a+", encoding="utf=8") # 'a+' 表示在 'a' 的基础上增加读能力
ls = ["\n嘿嘿~", "哈哈~"]
f.writelines(ls)
f.seek(0, 0) # 将文件指针指向文件开始的位置
for line in f.readlines():
print(line)
f.close()
本文详细介绍了Python中文件的基本概念及操作方法,包括文本文件与二进制文件的区别、不同文件打开模式的应用场景、如何进行文件读写操作以及相关函数的使用技巧。

被折叠的 条评论
为什么被折叠?



