Python.d9
文件编码
编码技术:即将人类可以看懂的内容翻译成计算机可识别的二进制规则
常见的编码规则:
- UTF-8
- GBK
- Big5
- …
UTF-8是目前全球通用编码格式
计算机一般默认使用它
文件的操作
主要包括:
- 打开
- 关闭
- 读取
- 写入
一般对文件操作的流程:
- 打开文件
- 读写文件
- 关闭文件
打开文件
使用open()
函数
1 | open(name,mode,encoding) |
- name:打开目标文件名的字符串(可以包含文件所在的具体路径)
- mode:设置打开文件的模式:只读、写入、追加等
- encoding:编码格式(推荐使用UTF-8)
示例代码:
1 | f = open('python.txt'.'r'encoding='UTF-8') |
encoding的顺序不是第三位,所以不能使用位置参数,用关键字直接指定
f
是open
函数的文件对象,对象是python中特殊的数据类型,拥有属性和方法,可以使用对象.属性或对象. 方法进行访问
mode常用的三种模式
模式 | 描述 |
---|---|
r | 只读模式。文件指针在文件开头,默认模式 |
w | 打开一个文件用于写入。如果文件已存在则打开文件,并从头开始编辑,原有内容会被删除 |
a | 打开一个文件用于追加。如果文件已经存在,新内容会被写入到已有内容之后,如果内容不存在,创建新文件进行写入 |
读取文件
read()
方法
文件对象.read(num)
num表示从文件中读取数据的长度(单位是字节),如果没有传入num
,则读取所有数据
readlines()
方法
文件对象.readlines()
可以按照行方式把整个文件的内容进行一次性读取,并返回一个列表,其中每一行的数据为一个元素
样例:['hello world\n', 'welcome\n', 'rminit home page']
readline()
方法
文件对象.readline()
一次读取一行数据
for循环读取文件行
1 | for line in open("python","r"): |
文件关闭
文件对象.close()
关闭文件对象
如果不关闭文件对象,同时程序没有停止运行,那么这个文件将被Python程序一直占用
with open()
示例:
1 | with open("python.txt",'r') as f: |
通过with open() as f:
可以在操作完成后自动关闭文件
文件写入
步骤:
- 打开文件
- 文件写入
- 内容刷新
- 关闭文件
write()
写入
文件对象.write()
示例:
1 | f = open('python.txt','w',encoding='UTF-8') |
调用write,内容并未真正写入文件,而是积攒在程序内存中,即缓存区buffer
flush()
刷新
文件对象.flush()
只有调用flush之后,内容才会真正写入文件
这样做能避免频繁操作硬盘,导致效率下降
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 rminit's blog!