• 8.Python初窥门径(文件操作)


    Python (文件操作)

    一、文件操作方式

    1. 打开文件 open
    2. 操作文件 read or write
    3. 关闭文件 close

    二、打开文件的方式(第一种)

    1. 语法 :

      f=open("文件",mode="模式",encoding="编码")

      • open() # 调用操作系统打开文件
      • mode() # 对文件的操作方式,("")内填入文件的操作方式.
      • encoding= # 文件的编码,=""跟着编码方式
      • f # 文件句柄
    2. 注意 : 使用原生字符可以解决\的问题,在"文件"前加r)

      # 不使用r时
      f=open("D:\\Git\\Git存储\\学习.txt",mode="r",encoding="UTF-8")
      # \\用来和python中的一些关键字做区分,不用\\表示可能会出错
      ---------------------------------
      # 使用r时
      f=open(r"D:\Git\Git存储\学习.txt",mode="r",encoding="UTF-8")
      # 此时的r是repr的简称,repr作用是保持原始状态消除关键字功能.
      

    三、文件操作方式 (注意 : 换行符\n)

    1. r w a 操作的都是文本

      读 : r (读后光标会移动到最后)

      • f.read() # 读取全部,()内可以加入数字,代表按照字符读取
      • f.readline() # 读取一行内容内的多个字符
      • f.readines() # 一行一行读取,存储到列表中

      写 : w a (w时没有文件创建文件,有文件分两步,先清空在写入)

      • w时,f.write() # 文件开头写入
      • a时,f.write() # 文件末尾写入
    2. r+(读写),w+(写读),a+(追加写读)

      • 后期开发中使用频率比较低,使用时注意光标位置
    3. rd r+d wb w+bab 操作非文本文件

      • 读取本地非文本文件时,读方式和操作读文本方式一样,只需要注意文件类型并且操作方式改成rd即可

        f = open("1.jpg",mode="rb")
        print(f.read())  # read()  全部读取
        print(f.read(3)) # 字节
        
      • 下载并保存网络文件时,需要调用import requests,实例如下

        import requests
        ret=requests.get("http://www.521609.com/uploads/allimg/151124/1-1511241G251317.png")
        f = open("2.jpg",mode="wb")
        f.write(ret.content)
        f.close()
        

    四、文件其它操作方式

    1. f.tell() # 查看光标所在的字节位置,会有返回值,返回值就是当前光标的位置

    2. f.seek(偏移量,位置) # 移动光标字节位置

      • 偏移量 : 按照字节来算,与所用的文件编码有关.

      • 位置 : 0代表开头位置,1代表当前位置,2代表末尾位置

        seek(0,0) # 文件开始位置
        seek(0,1) # 光标的当前位置
        seek(0,2) # 文件末尾位置
        seek(3) # 按照字节调节,使用utf-8汉字是3,gbk汉字是2
        

    五、文件路径分类

    1. 绝对路径 : 从磁盘的跟处查找

    2. 相对路径 : 相对于当前文件进行查找,../代表上一级,查看当前工作路径调用 import os

      import os
      print(os.getcwd()) # 查看当前工作路径
      

    六、文件安全读取方式

    • 运用for迭代方式直接对f进行迭代读取,不会因为文件过大,撑爆内存.

      f=open("文件",mode="模式",encoding="编码")
      for i in f:
      

    七、打开文件的方式(第二种)

    1. 语法 :

      with open("文件路径1",mode="操作方式",encoding="编码方式") as f1,
      open("文件路径2",mode="操作方式",encoding="编码方式") as f2 :

      lis=[]
      num=1
      with open("a1",mode="r",encoding="utf-8") as f:
          for r in f: # 注意缩进
              dic = {}
              lis1=r.strip().split(" ")
              if num==1:
                  lis2=lis1.copy()
              else:
                  for i in range(len(lis2)):
                      dic[lis2[i]]=lis1[i]
                  lis.append(dic)
              num+=1
      print(lis)
      
    2. 作用 :

      • 此方式系统会自动帮助关闭文件
      • 可以同时操作多个文件
      • 可以同时操作一个文件.
  • 相关阅读:
    如何关闭浏览器的自动完成功能
    <<设计模式C#>>学习笔记一:面向对象编程准备知识
    小心你成“鼠标手”
    中科院公布白领工资标准,香港月入18500才算白领
    在PB中调用IE
    在SqlServer2005里运行exe
    PBCS项目总结
    一条SQL删除所有表中数据
    SQL Server压缩Log文件的方法总结
    最近打算学习的一些东西
  • 原文地址:https://www.cnblogs.com/chenshuo531702820/p/11016651.html
Copyright © 2020-2023  润新知