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

    一.只读操作(r,rb)

    f = open("少妇嫩模.txt",mode = "r",encoding="utf-8")

    content = f.read()

    f.close

    rb.读取出来的数据是bytbs类型,在rb模式下,不能选择encoding字符集.

    作用:在读取非文本文件的时候,比如读取MP3,图像,视频等信息的时候就需要用到rb

    1.reade() 将文件中的内容全部读取出来.弊端:占内存,如果文件过大,容易导致内存崩溃

    2.reade(n) 读取n个字符,需要注意的是,如果再次读取,那么会在当前位置继续去读而不是从头读,如果使用的是rb模式,则读取出来的是n个字节

    3.readeline() 一次读取一行数据,注意readeline()结尾,注意每次读取出来的数据都会有一个 ,所以,需要我们使用strip()方法来去掉 或者空格

    4.readlines() 将每一行形成一个元素,放到一个列表中,将所有的内容都读取出来.容易出现内存崩溃的问题,不推荐使用

    5.循环读取,这种方式是最好的,每次读取一行内容,不会产生内存溢出的问题

    f = open()

    for line in f:

      print()

    二.写模式(w,wb)

    写的时候注意,如果没有文件,则会创建文件;如果文件存在,则会将原件中的原内容删除,加入新内容.

    wb模式下,可以不指定打开文件的编码,但是在写文件的时候必须将字符串转化成utf-8的bytes数据

    三.追加(a,ab)

    在追加模式下,我们写入的内容会追加在文件的结尾.

    四.读写模式(r+,r+b)

    对于读写模式,必须是先读,因为默认光标是在开头的没准备读取的,当读完了之后再进行写入

    五.写读(w+,w+b)

    先将所有的内容清空,然后写入,最后读取,但是读取的内容是空的,不常用.

    六.追加读(a+)

    a+模式下,不论先读还是后读,都是读取不到数据的.

    七.其他相关操作

    1.seek(n) 光标移动到n位置,移动的单位是byte,所以如果是UTF-8的中文部分要是3的倍数.

    移动到开头:seek(0)

    移动到结尾;seek(0,2)

    2.tell()

    使用tell()可以帮我们获取到当前光标在什么位置

    3.trunca() 截断文件

    删除光标后面的所有内容

    注意:在r+模式下,如果读取了内容,不论读取内容多少,光标显示的是多少,再写入或者操作文件的时候都是在结尾进行的操作.

    八.修改文件以及另一种打开文件的方式

    文件修改:只能将文件中的内容读取到内存中,将信息修改完毕,然后将源文件删除,将新的名字改成老的名字

  • 相关阅读:
    数据库异常处理记录
    FINEMVC重定向和显示合计
    有意思的文章的链接
    oralce 创建用户和权限
    FINEUI(MVC) grid 双击弹窗功能
    FINEUI(MVC)布局问题记录
    通过判断cookie过期方式向Memcached中添加,取出数据(Java)
    通过数组方式向Oracle大批量插入数据(10万条11秒)
    Python基础学习13--面向对象
    Python基础学习12--变量作用域
  • 原文地址:https://www.cnblogs.com/liuqingyang/p/9437753.html
Copyright © 2011-2022 走看看