zoukankan      html  css  js  c++  java
  • python文件操作

    1、打开文件得到文件句柄并赋值给一个变量

    2、通过句柄对文件进行操作

    3、关闭文件

    示例文件

    '你好呀'
    我是于超
    嗯
    再见

    文件操作基本流程

    f=open('chenli',encoding='utf-8')
    first_line=f.readline()
    print('第一行是:',first_line)
    
    print('我是分割线'.center(9,'-')) #9代表字符串总共9长度
    data=f.read() #读取所有内容
    print(data)

    2.2 文件编码

    #不指定打开编码,即python解释器默认编码,python2.*为ascii,python3.*为utf-8
    f=open('chenli.txt')
    f.read() 
    f=open('chenli.txt',encoding='utf-8')
    f.read()

    2.3 文件打开模式

    文件句柄 =  open ('文件路径''模式')

    打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

    打开文件的模式有:

    • r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    • w,只写模式【不可读;不存在则创建;存在则清空内容】
    • x, 只写模式【不可读;不存在则创建,存在则报错】
    • a, 追加模式【可读;   不存在则创建;存在则只追加内容】

    "+" 表示可以同时读写某个文件

    • r+, 读写【可读,可写】
    • w+,写读【可读,可写】
    • x+ ,写读【可读,可写】
    • a+, 写读【可读,可写】

     "b"表示以字节的方式操作

    • rb  或 r+b
    • wb 或 w+b
    • xb 或 w+b
    • ab 或 a+b

     注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码

    2.4 文件内置函数flush

    flush原理:

    1. 文件操作是通过软件将文件从硬盘读到内存
    2. 写入文件的操作也都是存入内存缓冲区buffer(内存速度快于硬盘,如果写入文件的数据都从内存刷到硬盘,内存与硬盘的速度延迟会被无限放大,效率变低,所以要刷到硬盘的数据我们统一往内存的一小块空间即buffer中放,一段时间后操作系统会将buffer中数据一次性刷到硬盘)
    3. flush即,强制将写入的数据刷到硬盘

    滚动条:

    import sys,time
    
    for i in  range(10):
        sys.stdout.write('#')
        sys.stdout.flush()
        time.sleep(0.2)

     

  • 相关阅读:
    统计脚本代码行数
    expr算术运算
    lsof命令
    测试当前机器可以创建多少线程
    守护进程写日志
    文件描述符fd,struct files_struct
    linux查看反汇编
    信号补充
    Windows10获取VS管理员权限总是很烦人
    asp.net中的Filter类型其实是被当作单例的
  • 原文地址:https://www.cnblogs.com/pyyu/p/6813666.html
Copyright © 2011-2022 走看看