zoukankan      html  css  js  c++  java
  • 打开文件的模式

    1.什么是文件?

      文件是操作系统提供给应用程序操作硬盘的一个虚拟单位。

      用于应用程序将数据永久保存。            windows默认gbk编码来存

    文件操作:
    f=open(r'aa.txt',mode='r',encoding='utf-8')
    操作文件
    f.close()

    with open(r'aa.txt',mode='r',encoding='utf-8') as f1,
    open(r'aa.txt',mode='r',encoding='utf-8') as f2:
    子代码块
    文件的打开模式:
    t:text文本模式,读写文件是以字符串为单位,需要指定字符编码。(自动完成字符转成二进制)
    t模式的局限性是只能读写文本文件
    b:bytes字节模式,读写文件都是以bytes为单位,不需要指定字符编码。
    b模式的好处的是可以读写任意类型的文件

    f=open(r'aa.txt',mode='wb')
    f.write('你好'.encode('utf-8'))
    f.close()
    注意:
    t或b都不能单独使用
    必须与r、w、a模式组合使用

    r:只读,
    文件不存在则报错
    文件存在,光标停在文件开头

    w:只写
    文件不存在则创建空文件
    文件存在则清空
    光标停在文件开头
    a:只追加写,(一打开文件,光标就直接到末尾去了,在文件存在的情况下,直接到文件末尾去了,在文件不存在的情况下,创建一个文件)
    文件不存在则创建空文件
    文件存在,光标停在文件末尾

    强调:
    写文件换行符用
    读文件换行符也是
    文件操作的方法:

    f.read() #读出文件所有的内容
    f.readline() #一次读一行
    f.readlines() #读出文件所有的行存到列表中


    f.write('11111 2222 ')

    f.writelines(['11111 ','2222 '])
    userinfo=['egon','123','333000']
    for line in userinfo:
    f.write(line)


    存的编码不对,


    拷贝文件
    读一行写到新文件

    文件的修改:
    方式一:
    将文件内容全部读入内存,在内存中完成修改后,再覆盖回硬盘
    缺点:在文件过大的情况下,会过多地占用内存
    方式二:
    1、以读的方式打开原文件,以写的方式打开新文件
    2、读一行原文内容,写入新文件,
    如果该行内容是需要修改的内容,那么修改完后再写入新文件
    3、删掉原文件,将新文件名重命名为原文件名

    src_file_path(原文件路径) dst_file_path(目标文件路径)


    硬盘上没有删这一说
    数据还是在硬盘,空间表示可以使用的状态,数据用你的文件和硬盘的空间重新建立关系,数据回复。
    其实是没有删以及没有改全都是覆盖
    内存中是可以进修修改字符串

    内存内容覆盖到原来内容,都是用新内容覆盖老内容,把文件内容一次性全都加到内存,然后再重新写回硬盘。存的时候比较卡,
    文本编辑器的原理是先将文件写到内存,然后再改回,文件数据量大,电脑会比较卡。
    ==========================
    修改文件方式一:
    1.先把文件内容全部读到内存,
    2.然后在内存中完成修改
    3.再把修改后的结果,覆盖写入原文件

    with open('user.txt',mode='r',encoding='utf-8')as f:
  • 相关阅读:
    monitor system
    monitor disk
    manage account
    windows
    backup daily
    shell 脚本编程概述
    OGNL表达式
    Struts2各个功能详解(2)-输入校验和拦截器
    struts2各个功能详解(1)----参数自动封装和类型自动转换
    Struts2源码解析2
  • 原文地址:https://www.cnblogs.com/wangmiaolu/p/8664991.html
Copyright © 2011-2022 走看看