• 我的python菜鸟之路5


    -----------------------------------------文件的操作(1)---------------------------------------------------

    • 同级文件的只读,文件不存在报错

    file=open('wenjian',mode='r',encoding='utf-8')
    content = file.read()
    print(content)
    file.close()
    
    • 同级文件的只写,文件不存在便新建一个

    file=open('wenjian',mode='w',encoding='utf-8')
    content = file.write('杨子列')
    file.close()
    
    • 当文件运行只写的时候,原文件会被清空,此时应该慎重,

    • 追加内容

      • 在尾部追加,不能读取,文件不存在便新建一个
      file=open('wenjian',mode='a',encoding='utf-8')
      content = file.write('杨子列')
      file.close()
      
      • 可读可写
        • 读取
        • 写入:从当前光标位置开始写入,会将后面的内容覆盖(只覆盖写入内容所占的字节)
        • r+
        file=open('wenjian',mode='r+',encoding='utf-8')
        file.seek(3) #光标移动到第三个字节后。也就是往后移动一个汉字,如果是两个字节处,便是乱码
        
        # content = file.read()
        content = file.write("狼") #因为read读到最后,所以write所添加的内容在最后
        file.close()
        
        • w+
        • 默认光标在最后,当打开时就是从0开始,因为清空
        • 写入时会将文件覆盖,读取时需要调整光标
        file=open('wenjian',mode='w+',encoding='utf-8') #打开文件并清空
        content = file.read()
        print(content)
        file.write("狼")
        file.seek(0) #将光标移动至初始位置,否则无法读出
        data = file.read()
        print(data)
        file.close()
        
        • a+
        • 默认光标在最后,读的时候可通过改变光标的位置进行读取,只要写的时候比在最后追加
      • file=open('wenjian',mode='a+',encoding='utf-8') #打开文件并清空
        content = file.read()
        print(content)
        file.write("yang") #只要写入,必从最后开始,调整光标也没用
        file.seek(0) #将光标移动至初始位置,否则无法读出
        data = file.read() #读取时默认也在最后
        print(data)
        file.close()
        
      • 内存相关操作

    • file=open('wenjian',mode='r',encoding='utf-8')
      file.seek(3)#第三个字节后
      content = file.read(2)#从当前光标位置再往后读取两个字符
      print(content)
      
    • file=open('wenjian',mode='r',encoding='utf-8') 
      content = file.readlines()
      print(content)
      #读取文件中的所有内容到内存,并按照每一行分割至列表中
      
    • 当读取一个较大的文件时

    • file=open('wenjian',mode='r',encoding='utf-8')
      for lin in file:
          lin = lin.strip()#不但可以消除空格,还可以消除换行符
          print(lin)
      
    • 文件的写入相关操作

    file=open('wenjian',mode='w',encoding='utf-8')
    file.write("小黑
    ")
    file.write("小红")
    data  = file
    #输出
    小黑
    小红
    
  • 相关阅读:
    增加文章
    网站之注册
    C#常用的引用
    Session.Abandon和Session.Clear有何不同 (转)
    C#文件路径的写法
    UpdatePanel的用法详解
    [转]asp:ScriptManager
    Git 常用命令
    AJAX请求 $.post方法的使用
    a 标签中调用js的几种方法
  • 原文地址:https://www.cnblogs.com/yangzilaing/p/13155562.html
Copyright © 2020-2023  润新知