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 文件的主要内容,如果未能解决你的问题,请参考以下文章

python操作文本文件

python如何操作bson文件

python包在哪个文件夹下?

python文件加密

python读取文件操作文件放在哪里

保存了python文件怎样在python中拿出来