zoukankan      html  css  js  c++  java
  • 文件的相关操作

    文件的相关操作

    一、文件操作

    1. 语法
      f = open('文件路径',mode='模式',encoding='编码')
      open()      调用操作系统打开文件
      mode        对文件的操作方式
      encoding    文件的编码   注:储存编码要统一
                  Windows ----  默认gbk
                  Linux、Mac ---- 默认utf-8
      f           文件句柄 -- 操作文件的路径
      
    2. 打开文件
      文件打开方式一
      
      注:需手动关闭,否则会一直在内存中打开,占用内存
      f = open(r'D:
      ew.txt',mode='r',encoding='utf-8')
      print(f.read())
      f.close()
      ***********************************************
      文件打开方式二
      
      注:帮助自动关闭文件,可同时开多个文件,用逗号隔开,也可以同时操作多个文件
      with open('a',mode='r',encoding='utf-8') as f,
          open('b',mode='w',encoding='ytf-8') as f1:
      import os
      print(os.getcwd())  ---   查看当前工作路径
      os.remove()         ---   删除文件
      os.rename()         ---   更改文件名(旧名,新名)
      
    3. 模式
      • r
        f = open('a',mode='r',encoding='utf-8')
        contend = f.read()   ----   全部读取
        print(contend)
        print(f.read(3))     ----   字符读取
        print(f.readline())  ----   读取一行,()内可以加入需要读取本行的几个字符
        print(f.readlines()) ----   读取每一行,储存在列表中
        for line in f:       ----   一行一行读取,防止内存溢出
            print(line)
        
        rb ---- 读非文本文件,不能指定编码
        f = open('a',mode='rb')
        print(f.read(3))    ---- 读取3个字节
        *******************************************
        r+ ----  读写  —— 先读后写
        f = open('a',mode='r+',encoding='utf-8')
        print(f.read())
        f.write('你好啊')
        f.flush()
        
      • w 清空写
        注:没有文件就创建,有就打开,先清空,再写入
        f = open("a", mode="w", encoding="utf-8")
        f.write("乳娃娃")  ————  不能写入int
        f.flush()
        f.close()
        ****************************************
        wb
        w+  ----  先清空,写入,再读。  用不着
        w+b
        *******************************************
        a 追加写 -- 文件末尾写入
        f = open("a", mode="a", encoding="utf-8")
        f.write("啊啊啊啊啊啊啊,好烦啊")
        f.flush()
        f.close()
        *******************************************
        ab
        a+ -- 追加读,光标默认在末尾
        f = open("a", mode="a+", encoding="utf-8")
        print(f.read())
        f.write("真的废物")
        
        a+b
        
    4. 其他操作
      • 绝对路径 ---- 从磁盘的根处查找
      • 相对路径 ---- 相对于当前文件查找
      • tell() ---- 查看光标位置,单位是字节
      • seek(偏移量,起始位置) ---- 起始位置默认0 -- 开头,1--当前位置,2-- 末尾
  • 相关阅读:
    模拟赛T5 : domino ——深搜+剪枝+位运算优化
    校内模拟赛T5:连续的“包含”子串长度( nekameleoni?) —— 线段树单点修改,区间查询 + 尺取法合并
    C++[Tarjan求点双连通分量,割点][HNOI2012]矿场搭建
    C++二分图匹配基础:zoj1002 FireNet 火力网
    迭代加深搜索 C++解题报告 :[SCOI2005]骑士精神
    Linux 常用命令
    Microservices and exception handling in Java with Feign and reflection
    微服务摘要
    Javac编译与JIT编译
    GC调优思路
  • 原文地址:https://www.cnblogs.com/maqian/p/11904729.html
Copyright © 2011-2022 走看看