python学习笔记7
python学习笔记7
一、python文件操作
-
文件内容读取
# 使用python的内置函数open f = open('file_path',encoding='utf-8',mode='r') # file_path是文件所在路径 content = f.read() # 读取文件的函数方法:read print(content) f.close() """ open是内置函数,底层调用的是操作系统的接口 f称为文件句柄。对文件进行任何操作都需要通过文件句柄 encoding参数:默认操作系统的编码方式 mode参数:打开文件的方式,r为仅读取 使用open函数打开文件,操作结束时一定要使用close函数关闭文件。 """ # 常见操作报错: # UnicodeError:编码解码方式不匹配 # SyntaxError:文件路径中\出现了转义 -
文件内容写入
# mode=w为仅写入 # 文件不存在则创建文件写入内容 # 文件存在则先清空文件内容再写入 f = open('file_path',encoding='utf-8',mode='w') f.write('写入文件的内容') f.close() -
python额外文件操作
# 相应的有rb和wb两种mode用来读取和写入byte内容 # 文件操作的追加a,ab,a+,a+b # 没有文件就创建文件追加内容,文件存在则在内容后面追加内容 f = open('file_path',encoding='utf-8',mode='a') -
文件操作的其他模式
# 文件的读写,先读后写 # 文件不存在就报错 # 文件存在,可在已有内容后追加写入内容 f = open('file_path',encoding='utf-8',mode='r+') # !!!文件读取会从光标(指针)位置开始 -
文件操作的其他功能
# 文件操作的三个方向 # 读取:r,rb,r+,r+b # 写入:w,wb,w+,w+b # 追加:a,ab,a+,a+b # 相应的功能:对文件句柄的操作: # read() read(n) readline() readlines() write() # tell() 获取光标的位置(单位:字节) f = open('file_path',encoding='utf-8',mode='r+') print(f.tell) # 0 文件刚打开时默认光标在第一个位置 f.close() # seek() 调整光标的位置(字节) f = open('file_path',encoding='utf-8',mode='r') f.seek(6) # 这时候文件的光标改成了6 # 文件的操作将从第6个字节的位置开始 f.close() # flush() 强制刷新 f = open('file_path',encoding='utf-8',mode='w') f.write('写入的内容') # 写入内容的时候其实文件并未进行保存操作 f.flush() # 将文件内容保存 f.close() -
打开文件的其他方式
# 另一种更方便打开文件的方式 with open('file_path',encoding='utf-8') as f: print(f.read()) #这种方式会在一定时间后自动关闭(不用使用close方法) # 可以一次性操作多个文件 with open('file_path0',encoding='utf-8') as f0,\ open('file_path1',encoding='utf-8',mode='w') as f1: print(f0.read()) f1.write('写入内容') # 这里打开文件的操作命令过长,可以使用 \ 换行 -
文件内容修改
# 修改步骤 """ 1.以读取的模式打开源文件 2.以写入的模式创建一个新文件 3.将原文件的内容读出来修改成新内容,写入新文件 4.将原文件删除 5.将新文件重命名为原文件 """ import os # 1.以读取的模式打开源文件 # 2.以写入的模式创建一个新文件 with open('file_path',encoding='utf-8',mode='r') as f,\ open('newfile_path',encoding='utf-8',mode='w') as f_1: content = f.read() # 3.将原文件的内容读出来修改成新内容,写入新文件 new_content = ... # 这里的操作是对原文件内容content进行修改 f_1.write(new_content) # 4.将原文件删除 os.remove('file_path') # 5.将新文件重命名为原文件 os.rename('修改内容的文件名','原文件名') #这个方法使用了read方法,但是这个方法对于内容过多的文件基本不能用 # 另一种方法 import os # 1.以读取的模式打开源文件 # 2.以写入的模式创建一个新文件 with open('file_path',encoding='utf-8',mode='r') as f,\ open('newfile_path',encoding='utf-8',mode='w') as f_1: # 3.将原文件的内容一行一行读出来修改成新内容,写入新文件 for line in f: old_line = line.strip() new_line = ... # 这里的操作是对原文件内容进行修改 f_1.write(new_line) # 4.将原文件删除 os.remove('file_path') # 5.将新文件重命名为原文件 os.rename('修改内容的文件名','原文件名')

浙公网安备 33010602011771号