• StringIO-将字符串当做文件处理


    StringIO将字符串当做文件处理,十分方便

    >>> from StringIO import StringIO
    >>> file_like_string = StringIO()
    >>> file_like_string.write("hello
    ")  #写入数据
    >>> file_like_string.write("world
    ")
    >>> file_like_string.write("I am StringIO
    ")
    >>> dir(file_like_string)
    ['__doc__', '__init__', '__iter__', '__module__', 'buf', 'buflist', 'close', 'closed', 'flush', 'getvalue', 'isatty', 'len', 'next', 'pos', 'read', 'readline', 'readlines', 'seek', 'softspace', 'tell', 'truncate', 'write', 'writelines']
    >>> file_like_string.getvalue() #获取StringIO中包含的所有数据,与当前读写位置无关
    'hello
    world
    I am StringIO
    '
    >>> file_like_string.tell() #获取当前读写位置
    26
    >>> file_like_string.read() #从末尾开始读取
    ''
    >>> file_like_string.seek(0) #定位到开头
    >>> file_like_string.read() #读取所有数据
    'hello
    world
    I am StringIO
    '
    >>> file_like_string.seek(0)
    >>> file_like_string.readline() #一次读取一行
    'hello
    '
    >>> file_like_string.readline()
    'world
    '
    >>> file_like_string.seek(0)
    >>> file_like_string.readlines() #读取所有行放入列表中
    ['hello
    ', 'world
    ', 'I am StringIO
    ']
    >>> file_like_string.seek(0)
    >>> for line in file_like_string:  #StringIO对象可迭代,__iter__
    ...     print line.strip()
    ... 
    hello
    world
    I am StringIO
    >>> file_like_string.seek(6)   #定位,起始位置偏移量为0
    >>> file_like_string.getvalue()
    'hello
    world
    I am StringIO
    '
    >> file_like_string.len  #获取内部字符串长度
    26
    >>> file_like_string.truncate() #从指定位置开始截断数据
    >>> file_like_string.getvalue()
    'hello
    '
    >> file_like_string.len
    6
    >>> file_like_string.close() #关闭StringIO对象
  • 相关阅读:
    hdu 1272
    BZOJ_3685_普通van Emde Boas树_权值线段树
    BZOJ_3831_[Poi2014]Little Bird_单调队列优化DP
    BZOJ_3252_攻略_线段树+dfs序
    BZOJ_4653_[Noi2016]区间_线段树+离散化+双指针
    BZOJ_3210_花神的浇花集会_切比雪夫距离
    BZOJ_2124_等差子序列_线段树+Hash
    BZOJ_2212_[Poi2011]Tree Rotations_线段树合并
    BZOJ_1826_[JSOI2010]缓存交换 _线段树+贪心
    BZOJ_4325_NOIP2015 斗地主_DFS
  • 原文地址:https://www.cnblogs.com/hupeng1234/p/6713316.html
Copyright © 2020-2023  润新知