• python入门之文件处理


    1.读取文件

    f=open(file="C:BiZhi新建文本文档.txt",mode="r",encoding="utf-8")
    
    data=f.read()
    
    print(data)
    
    f.close()

    输出为·:txt文件中的内容

    当把mode改为“rb”时,此时输出的文件是二进制模式的

    当你无法判断出文件的编码时,可以引用chardet来识别文件的编码类型

    import chardet
    
    f=open(file="C:BiZhi新建文本文档.txt",mode="r",encoding="utf-8")
    
    data=f.read()
    
    print(chardet.detect(data))

    输出为:判断这个文件的编码类型的结果

    一行一行读取文件的方法:

    f=open(file="C:BiZhi新建文本文档.txt",mode="r",encoding="utf-8")
    
    for line in f:
    
    print(line)

    2.写文件

    f=open("兼职.txt""w")
    
    f.write("aaa")
    
    f.close()

    此时同目录下就会有一个名为兼职的txt文件。##注意点,当我再次在这个文件里写内容时,之前的内容都会清空。

    添加

    f=open("兼职.txt","a")
    f.write("
    1234555".encode("utf-8"))
    f.close()

    输出为在最后添加了1234555

     也可以以wb形式去写内容,此时“小黄鸭”是bytes类型

    f = open(file="test.txt", mode="wb")
    
    f.write('小黄芽'.encode('utf-8'))
    
    f.close()

    3.混合模式:读写和写读

    读写:先读到这个文件,然后可以在文件里进行修改

    f=open("兼职.txt","r+")
    data=f.read()
    print(data)
    
    f.write("
    1234555")
    f.close()

    输出:兼职.txt文件中多了一行1234555

    写读:写的内容将原文件的内容替换掉了,然后在进行读

    f=open("兼职2.txt","w+")
    f.write("
    1234555")
    data=f.read()
    print(data)
    f.close()

    输出:兼职2.txt中的内容消失,此时内容只有1234555

    4.常用的文件处理方法

    1)flush:将缓存内的内容强制刷新到硬盘上。

    f=open("兼职2.txt","w+")

    f.write("aaa")#此时aaa还在缓存中,并没有在硬盘内

    f.flush()#此时aaa已经存在硬盘内

    2)readline:只读一行(一直读文件,遇到/r或/n为止)

    3)

    f.tell:显示光标所在位
    
    f.seek(n):光标跳转到n位
    
    f.read:读文件
    
    f.truncate(n) 

    从第头开始第n个字节往后开始截断,剩下前面的字节所组成的内容

    ####注:tell ,seek,truncate按照的是字节  read按照的是字符 

        

     
  • 相关阅读:
    零基础学python-16.7 nonlocal介绍
    零基础学python-16.6 嵌套作用域
    零基础学python-16.5 模块间全局变量的修改以及其他访问全局变量的方法
    零基础学python-16.4 global作用域
    零基础学python-16.3 变量名解析:LEGB原则
    如何格式化日期和时间
    如何创建指定的日期和时间
    如何遍历Set对象
    如何遍历Map对象
    如何遍历List对象
  • 原文地址:https://www.cnblogs.com/huizaia/p/9005995.html
Copyright © 2020-2023  润新知