zoukankan      html  css  js  c++  java
  • python基础学习——文件处理模式:读r&写r&追加a&r+可读可写

    1、文件处理流程

      1)打开文件,得到文件句柄并赋值给一个变量

      2)通过句柄对文件进行操作

      3)关闭文件

      4)文件读写的参数必须是字符串

      5)样例

    f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄,
    # "陈情令"是文件路径,当文件在同一层级路径时,可以直接写文件名,取相对路径
    #f就是变量
    #默认为只读模式r data=f.read()#读取文件全部内容 print(data) f.close()#关闭文件

    2、文件处理:读模式

    f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄,
    print("第1行:",f.readline(),end="") #去掉换行
    print("第2行:",f.readline())
    print("第3行:",f.readline())
    print("第4行:",f.readline())
    print("第5行:",f.readline())
    print("第6行:",f.readline())
    print(f.readable()) #判断文件模式是否是可读模式
    print("第7行:",f.readline())
    print("第8行:",f.readline())
    f.close()
    方式二:
    f=open("陈情令","r",encoding="utf8") #open("陈情令",encoding="utf8")文件句柄,
    print("第1行:",f.readline(),end="") #去掉换行
    print("第2行:",f.readline())
    print("第3行:",f.readline())
    print(f.readable()) #判断文件模式是否是可读模式
    data1=f.readlines()#读取文件所有内容,放到一个列表当中
    print(data1)
    
    f.close()

    3、文件处理:写模式

       如果文件存在内容,启动写模式时,会清空文件内容,等待写入

       如果文件不存在,启动写模式时,会创建一个新文件,等待写入,写模式只能写不能读

    f=open("肖战哥哥","w",encoding="utf8") 
    print(f.writable())
    f.write("1111
    22222
    I love you 战哥
    ")
    f.writelines(["祝福
    ","我爱你战哥"])
    f.close()

    4、文件处理:追加模式a

    f=open("肖战哥哥","a",encoding="utf8") 
    f.write("平静
    自我
    I love you 战哥
    ")
    f.writelines(["不忘初心继续前进","爱你"])
    f.close()

    5、文件其他处理:可读可写r+  和 自动关闭文件with

    #可读可写r+
    f=open("肖战哥哥","r+",encoding="utf8")
    data=f.read()
    print(data)
    f.write("I love you 战哥
    ")
    f.close()
    with open("肖战哥哥","r",encoding="utf8") as f1,
        open("王一博酷盖","w",encoding="utf8") as f2:
        data=f1.read()
        f2.write(data)
    #从原文件f1中读取全部数据,将f1数据写到第二个文件f2中去
    #with会同时关闭f1和f2文件

     6、文件处理的b模式:原生文件处理方式:二进制

      1)文件默认的处理方式是文本方式 rt wtat处理,但是图片和视频都是二进制方式处理

      2)二进制方式处理的文件是可以跨平台的

    #方式一:rb
    
    f=open("陈情令","rb") #b方式不可以指定编码
    data=f.read()
    print(data)
    print(data.decode("utf8"))
    f.close()
    
    #b'xe8x82x96xe6x88x98xe5x93xa5xe5x93xa5xe5x8axa0xe6xb2xb9xefxbcx8cxe6x88x91xe7x9ax84xe5x81xb6xe5x83x8fxefxbcx81
    xe6xa6x9cxe6xa0xb7xe7x9ax84xe5x8ax9bxe9x87x8fxefxbcx8cxe6x88x91xe4xb9x9fxe8xa6x81xe5x8axa0xe6xb2xb9xefxbcx81
    xe4xb8x8dxe5xbfx98xe5x88x9dxe5xbfx83xefxbcx8cxe8xb4xb5xe5x9cxa8xe5x9dx9axe6x8cx81xefxbcx81
    xe4xbbxbbxe4xbdx95xe4xbax8bxe6x83x85xe9x83xbdxe8xa6x81xe5x9dx9axe6x8cx81xefxbcx8cxe5x9dx9axe6x8cx81xe8x87xaaxe5xb7xb1xe7x9ax84xe5x88x9dxe5xbfx83xefxbcx8cxe5x8axaaxe5x8ax9bxefxbcx8cxe7x9bxb8xe4xbfxa1xe8x87xaaxe5xb7xb1xefxbcx8cxe6x89x8dxe5x8fxafxe8x83xbdxe5xbex97xe5x88xb0xe8x87xaaxe5xb7xb1xe6x83xb3xe8xa6x81xe7x9ax84xe7xbbx93xe6x9ex9cxefxbcx8cxe6x9cx9fxe5xbex85xe8x87xaaxe5xb7xb1xe7x9ax84xe5xb0x8fxe5xaex87xe5xaex99xe7x88x86xe5x8fx91
    xe9x9dxa0xe4xbaxbaxe4xb8x8dxe5xa6x82xe9x9dxa0xe8x87xaaxe5xb7xb1
    xe8x87xaaxe5xb7xb1xe5xbcxbaxe5xa4xa7xe4xbax86xefxbcx8cxe5xaex89xe5x85xa8xe6x84x9fxe8x87xaaxe5xb7xb1xe7xbbx99'
    #wb/ab
    
    f=open("肖战哥哥","wb") #b方式不可以指定编码
    f.write(bytes("赞赞爱你
    ",encoding="utf8"))
    f.write("123木头人
    ".encode("utf8"))
    f.close()

    7、文件操作方法

  • 相关阅读:
    Variant 数组
    socket c/s分佈式編程
    多線程幾個方法說明
    hash表的使用
    MIS系统权限控制的一个简便方法
    git 使用总结
    让 VAGRANT 启动并运行起来
    深入理解 Laravel 中 config 配置加载原理
    Vagrant入门
    php开发APP接口(总结一)
  • 原文地址:https://www.cnblogs.com/xucuiqing/p/11681965.html
Copyright © 2011-2022 走看看