zoukankan      html  css  js  c++  java
  • 文件处理

    #################文件处理################
    # r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    # w,只写模式【不可读;不存在则创建;存在则清空内容】
    # a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】
    #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
    # rb 
    # wb
    # ab
    #读
    #f.read() #读出文件的所有内容
    # f.readline() #一次读一行
    # f.readlines() #读出文件所有的行存在列表中
    
    #写
    # f.write('1111
    22222
    ') #多行写入
    # f.writelines(['1111
    ','22222
    ']) #以列表方式写入
    
    
    ############r模式#####################
    #手段关闭文件
    # f=open(r'C:UsersxxxDesktopPython11.txt',encoding='utf-8') #默认打开模式就为r
    # data=f.read()
    # print(data)
    # f.close()
    
    #with 打开文件 自己关闭
    # with open(r'C:UsersxxxDesktopPython11.txt',mode='r') as f:
    # print(f.read())
    
    #打开多个文件
    # with open(r'C:UsersxxxDesktopPython11.txt',mode='r') as f1,open(r'C:UsersxxxDesktopPython12.txt',mode='r') as f2:
    # print(f1.read())
    # print(f2.read())
    
    #追加多行写入
    # with open(r'C:UsersxxxDesktopPython11.txt','a',encoding='utf-8') as f:
    # f.writelines(['{"x:1}
    ','{"y":1}
    '])
    
    #逐行读取
    # f=open(r'C:UsersxxxDesktopPython11.txt',mode='r',encoding='utf-8')
    # print(f.readline(),end='') #读取第一行内容
    # print(f.readline(),end='') #读取第二行内容
    # f.close()
    
    #读写整个文件的内容 以行切分
    # f=open(r'C:UsersxxxDesktopPython11.txt',mode='r',encoding='utf-8')
    # print(f.readlines())
    # f.close()
    
    #打印文件的全部内容
    # with open(r'C:UsersxxxDesktopPython11.txt',encoding='utf-8') as f:
    # for line in f:
    # print(line,end='')
    # for line in f.readlines():
    # print(line,end='')
    
    #w:只写模式
    #1.当文件存在时 清空
    #2.当文件不存在时,创建空文档
    # f=open(r'C:UsersxxxDesktopPython1ab.txt',mode='w',encoding='utf-8') #默认wt模式
    # f.write('第一行
    ')
    # f.write('第二行
    ') #wite 逐行写入
    # f.write('aaaaaa
    bbbbbbb
    cccc
    ') #写入多行
    # f.writelines(['1111
    ','22222
    ','3333
    ']) #以列表写入多行
    # f.close()
    
    
    #a:追加写入模式
    #1.在文件不存在时 创建文件
    #2.在文件存在时 光标直接跑到文件某尾
    
    # f=open(r'C:UsersxxxDesktopPython1access.log',mode='a',encoding='utf-8')
    # print(f.writable()) #判断文件是否可读
    # f.write('555555555555555
    ')
    # f.close()
    
    #文件打开模式b模式
    #1.与t模式类似不能单独使用 必须是rb wb ab
    #2.b模式下读写都是以bytes单位的
    #3.b模式下一定不能指定encoding参数
    
    #读取图片文件
    # with open('C:UsersxxxPicturesCamera Roll123.GIF',mode='rb') as f: #以二进制处理文件
    # data=f.read()
    # print(data)
    # print(type(data))
    
    #rb模式
    # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='rb') as f:
    # data=f.read()
    # # print(data) # bytes
    # print(data.decode('utf-8')) #bytes--unicode
    # print(type(data))
    
    
    #wb模式
    # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='wb') as f:
    # msg='你好啊,我是miss zhang'
    # f.write(msg.encoding('utf-8')) #以什么字符编码写入 以什么读出
    
    #rb模式
    # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='rb') as f:
    # data=f.read()
    # print(type(data))
    # print(data.decode('utf-8'))
    # print(data)
    
    
    #ab模式
    # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='ab') as f:
    # f.write('你好'.encode('utf-8'))
    
    
    #r+t 可读 可写
    # with open(r'C:UsersxxxDesktopPython1ab.txt',mode='r+t',encoding='utf-8') as f:
    # print(f.readable()) # 判断是否可读 为tu
    # print(f.writable()) # 判断是否可写 true
    # print(f.readline()) #逐行读
    # f.write('
    吴大炮你也好
    ')
    
    
    #r+ 模式 光标定在开始
    # import time
    # with open(r'C:UsersxxxDesktopPython1ab.txt','r+',encoding='utf-8') as f:
    # f.seek(0,2)
    # while True:
    # line=f.readline()
    # if line:
    # print(line.decode('utf-8'))
    # else:
    # time.sleep(0.2)
    
    #按光标插入内容
    # with open(r'C:UsersxxxDesktopPython1ab.txt','r+',encoding='utf-8') as f:
    # f.seek(9) #光标移动三个位置 偏移量单位是字节 一个中午三字节
    # f.write('[最第二帅的人]')
    

      

  • 相关阅读:
    golang生成树状菜单
    golang自定义某种类型时的打印输出
    【转】搭建自己的邮件服务器
    【转】【VSCode】golang的调试配置launch.json
    【转】Nvidia GeForce MX250 Lower-End Dedicated Graphics
    【转】Alertmanager高可用
    【转】Prometheus 和 Alertmanager实战配置
    YAML格式的语法
    golang写一个占用大内存的程序
    [转]TDengine常用命令及SQL
  • 原文地址:https://www.cnblogs.com/zhangcaiwang1/p/9534370.html
Copyright © 2011-2022 走看看