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

    什么是文件?
    操作系统提供给用户操作复杂硬件(硬盘)的简易的接口

    为什么操作文件?
    人或者应用程序需要永久的保存数据

    如何用?
    f = open()
    f.read()
    f.close()

    文件打开的模式
    r 只读模式
    w 只写模式
    a 追加写模式
    操作文件单位的方式
    t 文本文件 t在使用的时候需要指定encoding参数 如果不知道默认是操作系统的默认编码
    b 二进制 一定不能指定encoding参数

    mode参数 可以不写 不写的话默认是rt 只读的文本文件 这个t不写默认就是t
    with open(r'D:\Python项目\day07\a.txt',mode='r',encoding='utf-8') as f:
    print(f.readable()) # 是否可读
    print(f.writable()) # 是否可写
    print(f.read()) # 一次性将文件内容全部读出

    with open(r'D:\Python项目\day07\1.jpeg',mode='rb') as f:
    print(f.readable()) # 是否可读
    print(f.writable()) # 是否可写
    print(f.read()) # 一次性将文件内容全部读出


    r模式在打开文件的时候 如果文件不存在 直接报错
    文件路径可以写相对路径 但是需要注意该文件必须与执行文件在同一层文件下
    with open(r'a.txt',mode='r',encoding='utf-8') as f:
    with open(r'a.txt','r',encoding='utf-8') as f1: mode关键字可以不写
    print(f.readable()) # 是否可读
    print(f.writable()) # 是否可写
    print(">>>1:")
    print(f.read()) # 一次性将文件内容全部读出
    print('>>>2:')
    print(f.read()) # 读完一次之后 文件的光标已经在文件末尾了,再读就没有内容了可读
    print(f.readlines()) # 返回的是一个列表 列表中的一个个元素对应的就是文件的一行行内容
    for line in f: # f可以被for循环 每for循环依次 读一行内容
    print(i) # 这个方法 就可以解决大文件一次性读取占用内存过高的问题
    print(f.readline()) # 只读取文件一行内容
    print(f.readline())
    print(f.readline())
    print(f.readline())


    w模式:w模式一定要慎用
    1.文件不存在的情况下 自动创建该文件
    2.当文件存在的情况下 会先清空文件内容再写入
    with open(r'xxx.txt',mode='w',encoding='utf-8') as f:
    print(f.readable()) # 是否可读
    print(f.writable()) # 是否可写
    f.write('不不不,你没有翻~\n')
    f.write('不不不,你没有翻~\n')
    f.write('不不不,你没有翻~\n')
    f.write('不不不,你没有翻~\r')
    f.write('不不不,你没有翻~')
    l = ['不sdffs,sdfs有翻~\n','不sdfsdf不,你sdfsf翻~\n','不sfad不,你没sa翻~\n']
    f.writelines(l)
    # # 上下等价
    for i in l:
    f.write(i)


    a模式
    1.当文件不存在的情况下 自动创建该文件
    2.当文件存在的情况下,不清空文件内容, 文件的光标会移动文件的最后
     with open(r'yyy.txt',mode='a',encoding='utf-8') as f:
    print(f.readable()) # 是否可读
    print(f.writable()) # 是否可写
    f.write('我是小尾巴\n')

    万般皆下品,唯有读书高!
  • 相关阅读:
    exceljs的使用
    解决ios下的微信打开的页面背景音乐无法自动播放
    js 给定日期转为星期几
    获取地址栏参数
    解决浏览器缓存 或 刷新URL地址
    计算两个日期之间的天数
    获取当前日期的前后N天日期的方法
    将一下 prototype 是什么东西,原型链的理解,什么时候用 prototype
    apply和 call 什么含义,什么区别?什么时候用
    高效Web开发的10个jQuery代码片段
  • 原文地址:https://www.cnblogs.com/s686zhou/p/11139132.html
Copyright © 2011-2022 走看看