zoukankan      html  css  js  c++  java
  • python基础篇 08 文件操作

    本节主要内容:
    1. 初识⽂件操作
    2. (r, rb)
    3. (w, wb)
    4. (a, ab)
    5. r+读写
    6. w+写读
    7. a+写读(写读)
    8. 其他操作⽅法
    9. ⽂件的修改以及另⼀种开⽂件句柄的⽅

    主要内容:
    . 初识⽂件操作
    使⽤python读写⽂件是常简单的操作. 我们使⽤open()数来开⼀个⽂件, 获取到⽂
    句柄. 然后通过⽂件句柄就可以进⾏样的操作了. 根据开⽅的不同能够执⾏的操
    作也会有相差异.
    开⽂件的⽅: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 认使⽤的是r()模式

    . 操作(r, rb)

    路径和相对路径:
    1. 路径:从磁盘⽬录开始⼀直到⽂件.
    2. 相对路径:同⼀个⽂件夹下的⽂件. 相对于当前这个序所在的⽂件夹⽽. 如果在同
    ⼀个⽂件夹中. 则相对路径就是这个⽂件. 如果在上⼀⽂件夹. 则要../

     读取文件的方法:

    f.read(n)   n--->>>>n个字符  如果是rb,则n指字节

     将文件全部读取出来,弊端是,占内存,如果文件过大,会导致内存崩溃.

     f.readline()    一行一行的读,但是读出来的结尾会有一个 ,需要我们用strip()去掉

     

    注意:  读取完的文件句柄一定要关掉    f.close()

    . 写模式(w, wb)
    的时候注意. 如果没有⽂件. 则会创建⽂件, 如果⽂件存在. 则将件中来的内容删除,
    入新内容

     

    追加模式,a    写入的内容会加在结尾.

    . 读写模式(r+, r+b)
    对于读写模式. 必须是先读. 因为光标是在开. 备读取的. 当读完了进⾏
    . 我们以后使⽤频率最⾼模式就是r+

     还有写读(w+),追加读(a+)等不常用,可以自己了解下

     其他操作:

    1. seek(n) 光标移动n, 注意, 移动的单位是byte. 所以如果是UTF-8的中⽂部分
    3.
    通常我们使⽤seek都是移动到开或者结.
    移动到开: seek(0)
    移动到结: seek(0,2) seek⼆个数表⽰的是哪个位进⾏偏移, 认是0,
    ⽰开, 1表⽰当前, 2表⽰结

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

     显示的是字节数,中文就是3的倍数

     3. truncate() 截断⽂件

     

    深坑请注意: r+模式. 如果取了内容. 不论取内容多. 光标显⽰的是多. 再写
    或者操作⽂件的时候都是在结进⾏的操作.
    所以如果想做截断操作. . 先挪动光标. 挪动到你想要截断的位. 然后进⾏截断
    关于truncate(n), 如果给出了n. 进⾏截断, 如果不给n, 从当前置截断.
    的内容将会被删除

     . 修改⽂件以及另⼀种开⽂件的⽅
    ⽂件修改: 只能将⽂件中的内容取到内存中, 将信息修改完, 然后将⽂件删除, 将新
    ⽂件的字改成老⽂件的

  • 相关阅读:
    WINCE6.0新建工程编译出错的问题
    单片机C语言中的data,idata,xdata,pdata,code
    WinCE 6.0学习笔记一
    Visual Studio 2005 学习笔记一 入门
    Zigbee系列 学习笔记六(设置项)
    Zigbee系列 学习笔记五(信道选择)
    Zigbee系列 学习笔记四(睡眠及唤醒)
    Zigbee系列 学习笔记三(初始化程序解析)
    Zigbee调试问题 IAR编译出现 Fatal Error[e72]: Segment BANKED_CODE must be defined in a segment definition option (-Z, -b or -P)
    关于懒设计
  • 原文地址:https://www.cnblogs.com/dalaoban/p/9157315.html
Copyright © 2011-2022 走看看