• python 字符串的I/O 操作


    想使用操作类文件对象的程序来操作文本或二进制字符串

    使用io.StringIO() 和io.BytesIO() 类来创建类文件对象操作字符串数据

    >>> s = io.StringIO()
    >>> s.write('Hello World
    ')
    12
    >>> print('This is a test', file=s)
    15
    >>> # Get all of the data written so far
    >>> s.getvalue()
    'Hello World
    This is a test
    '
    >>>
    >>> # Wrap a file interface around an existing string
    >>> s = io.StringIO('Hello
    World
    ')
    >>> s.read(4)
    'Hell'
    >>> s.read()
    'o
    World
    '
    >>>
    

    io.StringIO 只能用于文本。如果你要操作二进制数据,要使用io.BytesIO 类来代替

    >>> s = io.BytesIO()
    >>> s.write(b'binary data')
    >>> s.getvalue()
    b'binary data'
    >>>
    

    当想模拟一个普通的文件的时候StringIO 和BytesIO 类是很有用的。比如,在单元测试中,你可以使用StringIO 来创建一个包含测试数据的类文件对象,这个对象可以被传给某个参数为普通文件对象的函数。
    需要注意的是, StringIO 和BytesIO 实例并没有正确的整数类型的文件描述符。因此,它们不能在那些需要使用真实的系统级文件如文件,管道或者是套接字的程序中使用。

  • 相关阅读:
    自动化部署功
    docker 安装
    批量操作
    centos7 内核升级
    centos 6.5 升级 内核
    如何进行再linux 下查看 java程序的堆栈信息
    binlog 日志恢复以及操作
    java 中 Integer 比较 问题
    docker 使用
    soucetree 安装
  • 原文地址:https://www.cnblogs.com/baxianhua/p/10197105.html
Copyright © 2020-2023  润新知