• Python学习week7-StringIO与BytesIO


    1、stringIO

    # io模块中的类,导入方法:from io import StringIO

    # 内存中会开辟一个文本模式的buffer,可以像文件对象一样操作它

    # 当close方法被调用的时候,这个buffer会被释放;

    2、stringIO操作

    # getvalue() 获取全部内容,跟文件指针没关系;

    from io import StringIO
    sio=StringIO()
    print(sio.writable(),sio.readable(),sio.seekable()) # sio对象可写,可度,指针可移动
    sio.write('hello world')
    sio.seek(0)
    print(sio.readline())
    print(sio.getvalue()) # 获取buffer中的内容,与文件指针无关
    sio.close()
    
    '''
    运行结果:
    True True True
    hello world
    hello world
    '''

    3、stringIO的特点

    # 一般来说,磁盘的操作比内存的操作要慢的多,内存足够的情况下,一般的优化思路是少落地,减少磁盘的io过程,可以提高程序运行的效率;’

    4、BytesIO

    # io模块中的类,导入:from io import BytesIO

    # 内存中开辟一个二进制模式的buffer,可以像文件对象一样操作,当被调用close方法时候,这个buffer会被释放;

    5、BytesIO的操作

    # 操作与stringIO对象类似,但是写入数据的类型必须为bytes类型

    bio=BytesIO()
    
    bio.write(b'ni hao') # 注意写入内容要是bytes类型
    bio.seek(0)
    print(bio.readline())

    6、file-like对象

    # 类文件对象,可以像文件一样操作;socket对象,输入输出对象都是类文件对象;

    from sys import stdout,stderr
    
    f=stdout
    
    print(type(f))
    
    f.write('hello world')
    '''
    运行结果:
    <class '_io.TextIOWrapper'>
    hello world
    '''
  • 相关阅读:
    适用于实数范围的中缀表达式的 +
    Django官方文档学习2——数据库及模板
    github命令
    千行代码入门Python
    Notepad++配置Python运行环境
    Python常用网页字符串处理技巧
    requests设置headers,proxies,cookies
    Django官方文档学习1——第一个helloworld页面
    笔记本键盘上没有break键的解决方案
    Python beautifulsoup模块
  • 原文地址:https://www.cnblogs.com/soulgou123/p/9816402.html
Copyright © 2020-2023  润新知