• 文件处理


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

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

    如何用?
    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')

    万般皆下品,唯有读书高!
  • 相关阅读:
    SVN服务的配置与管理
    SVN配置多仓库与权限控制
    SVN使用详解
    这个问题他又来了,如何学编程!
    乘风破浪的程序员们
    Java 学习路线(史上最全 2020 版 ~ 持续更新中)
    P4782 【模板】2-SAT 问题
    HDU
    2020.8.3
    Interesting Computer Game
  • 原文地址:https://www.cnblogs.com/s686zhou/p/11139132.html
Copyright © 2020-2023  润新知