Python 文件
Posted Crazy丶迷恋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 文件相关的知识,希望对你有一定的参考价值。
1. 文件操作
1. 打开模式
w write 写入模式 文件不存在则创建文件,存在的话则打开清空内容,并且将文件指针放在文件的开头 r read 读取模式 文件不存在则报错! 存在的话则打开文件,并且将文件指针放在文件的开头 a append 追加模式 文件不存在则创建文件,存在的话则打开文件,*并且将文件指针放在文件的末尾* x xor 异或模式 文件已存在则报错! 不存在的话则创建文件,将文件指针放在文件的开头 #扩展模式 (配合打开模式的辅助模式,自己单独不能使用) + plus 增强模式(可以让文件具有读写功
b bytes bytes模式(二进制字节流)
2. 语法
fp = open("文件名",mode="a+",encoding="utf-8") # 需要手动关闭 或 with open("文件名",mode="a+",encoding="utf-8") as fp: # 自动关闭
3. 相关操作
f = open("test.txt",mode="r+",encoding="utf-8") f.read() # 读取字符的个数(里面的参数代表字符个数) f.tell() # 把现在的文件句柄所在的指针打印出来。(返回字节数) f.flush() # 强制刷新 f.seek(0) # 调整指针的位置(里面的参数代表字节个数) print(f.encoding) # 打印文件编码 print(f.fileno) # 返回文件句柄在内存中的编号 f.name() # 打印名字 f.isatty() # 是不是终端设备 f.readable # 判断文件是否可读 f.writable # 判断文件是否可写 f.truncate() # 把要截取的字符串提取出来,然后清空内容将提取的字符串重新写入文件中 (字节) f.readline() # 读取一行文件内容 f.readlines() # 将文件中的内容按照换行读取到列表当中 f.writelines() # 将内容是字符串的可迭代性数据写入文件中 参数:内容为字符串类型的可迭代数据 f.close() # 关闭文件
4. 例子
4.1 修改原文件方式
def alter(file,old_str,new_str): """ 替换文件中的字符串 :param file:文件名 :param old_str:就字符串 :param new_str:新字符串 :return:
不建议使用,文件小可以使用 """ file_data = "" with open(file, "r", encoding="utf-8") as f: for line in f: if old_str in line: line = line.replace(old_str,new_str) file_data += line with open(file,"w",encoding="utf-8") as f: f.write(file_data) alter("file1", "09876", "python")
4.2 把原文件写到新文件里
4.2.1 字符串替换
import os def alter(file,old_str,new_str): """ 将替换的字符串写到一个新的文件中,然后将原文件删除,新文件改为原来文件的名字 :param file: 文件路径 :param old_str: 需要替换的字符串 :param new_str: 替换的字符串 :return: None """ with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2: for line in f1: if old_str in line: line = line.replace(old_str, new_str) f2.write(line) os.remove(file) os.rename("%s.bak" % file, file) alter("file1", "python", "测试")
4.2.2 正则替换
import re,os def alter(file,old_str,new_str): with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2: for line in f1: f2.write(re.sub(old_str,new_str,line)) os.remove(file) os.rename("%s.bak" % file, file) alter("file1", "admin", "password")
python如何操作bson文件
bson是MongoDB专用的格式,所以应该使用Python的MongoDB驱动。 参考技术A 看GitHub bson文档以上是关于Python 文件的主要内容,如果未能解决你的问题,请参考以下文章