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

       基本语法:

    f=open('t1',mode='r',encoding='utf-8')
    打开 第一个内容是文件的名字(必须是字符串)
    mode 第二个内容是咱们对这个文件的操作方式 只读
    encoding 第三个内容是对这个文件的编码集
    f 是文件句柄 所有对文件的操作都是操作文件句柄 相当于一个锅把,用于变相去操作文件中的内容
    文件句柄是一个可迭代对象
    优点:相对来说节省内存,操作简单
    1 for i in f:
    2     print(line.strip())
    3 f.colse()
    f.read()        # 读  一次性全部读取
    f.readline()      # 读取一行,但是有个  
      换行   自带换行
    f.readlines()      #readlines 一行一行的读取,存放在列表里
    
    
    f.read(5)          # 读模式下,read中的内容是表示读取的字符数量  
    f1=open('t1',mode='r')
    f1=open(r'f:users',mode='r')        # r 和 \一样都是转义
    绝对路径和相对路径:
    从磁盘根目录开始查找就是绝对路径
    相对路径 相对于内容详解来查找的一种路径      推荐此写法
    ..   返回上一级
    进入下一级    可以把单个写成双\
    
    
    mode:
    r:
    只读模式      【默认模式,文件必须存在,不存在则抛出异常】
    w:只写模式      【不可读;不存在则创建;存在则清空内容】      每次打开都会先清空之前的内容,然后再写
    a:追加写模式     【不可读;不存在则创建;存在则只追加内容】     每次打开都会在文件末尾写


    r+:        读写【可读,可写】          侧重于读
    1 r+:
    2 f=open('t1',mode='r+',encoding='utf-8')     # r+ 主要以读为主 先读后写
    3 print(f.read())
    4 f.write('啊哈哈哈哈')
    w+:           写读【可读,可写】          侧重于写
    1 w+:
    2 f=open('t1',mode='w+',encoding='utf-8')
    3 f.write('哇咔咔')
    4 f.seek(0)           # 移动光标 里面是索引参数
    5 print(f.read())
    a+:          追加写读【可读,可写】         侧重于写
    1 a+:
    2 f=open('t1',mode='a+',encoding='utf-8')
    3 f.seek(0)                 # 先移动光标,后读
    4 print(f.read())
    5 f.write('hello')

    好习惯:
    f.flush()       # 刷新
    f.close() # 关闭
    每次用完文件句柄后要刷新一下,最后不用的时候关闭
    
    
    1 with open('t1',mode='r',encoding='utf-8')as f:             
    2     msg=f.read()
    3     print(msg)
    
    

       用with open()as 文件句柄 语法简单,自动关闭文件,不用手动关闭

    with open('t1','r',encoding='utf-8')as f,    #  表示是这句话还没有讲完,两句是同一句话
    open('t2','w',encoding='utf-8')as f1:
    
    
    f.seek(0)         移动到文件开头  seek表示移动光标 seek按字节移动
    一个中文3个字节
    0,0 文件头部
    0,1 当前位置
    0,2 文件尾部
    f.tell()          查看光标的位置当前     数的是字节
    f.truncate(9)      截断,指定字节之后的内容全部删除
    文件修改:
    import os          # 导入  os和操作系统相关
    os.rename()  # 重命名  第一个参数旧的名字,第二个是新的名字
    os.remove() # 删除这个文件 字符串

     
     

      
  • 相关阅读:
    ES6 Promise 让异步函数顺序执行
    Javascript中call()和apply()的用法 ----2
    backdrop-filter 和filter 写出高斯模糊效果 以及两者区别
    jquery $(document).ready()与window.onload的区别
    js获取iframe和父级之间元素,方法、属,获取iframe的高度自适应iframe高度
    手把手教你实现慕课网引导页效果(一)——分析验证
    和我一起学《HTTP权威指南》——安全HTTP与HTTPS
    和我一起学《HTTP权威指南》——客户端识别与cookie机制
    和我一起学《HTTP权威指南》——Web服务器
    和我一起学《HTTP权威指南》——连接管理
  • 原文地址:https://www.cnblogs.com/53Dawns/p/10238913.html
Copyright © 2011-2022 走看看