Python3 IO编程之StringIO和BytesIO

  StringIO

   很多时候,数据读写不一定是文件,也可以在内存中读写。

  要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可

>>> from io import StringIO
>>> f=StringIO()
>>> f.write(hello)
5
>>> f.write( )
1
>>> f.write(world!)
6
>>> f
<_io.StringIO object at 0x7f6bbc76e318>
>>> f.getvalue()
hello world!
>>> from io import StringIO >>> f=StringIO() >>> f.write(hello) 5 >>> f.write( ) 1 >>> f.write(world!) 6 >>> f <_io.StringIO object at 0x7f6bbc76e318> >>> f.getvalue() hello world!

  getvalue()方法用于获得写入后的str

  要读取StringIO,可以用一个str初始化StringIO,然后像读文件一样读取

>>> f=StringIO(Hello!
Hi!
Goodbye!)
>>> while True:
...   s=f.readline()
...   if s==:
...     break
...   print(s.strip())
... 
Hello!
Hi!
Goodbye!
>>> f=StringIO(Hello! Hi! Goodbye!) >>> while True: ... s=f.readline() ... if s==: ... break ... print(s.strip()) ... Hello! Hi! Goodbye!
  StringIO    很多时候,数据读写不一定是文件,也可以在内存中读写。   要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可 >>> from io import StringIO >>> f=StringIO() >>> f.write(hello) 5 >>> f.write( ) 1 >>> f.write(world!) 6 >>> f <_io.StringIO object at 0x7f6bbc76e318> >>> f.getvalue() hello world!   getvalue()方法用于获得写入后的str   要读取StringIO,可以用一个str初始化StringIO,然后像读文件一样读取 >>> f=StringIO(Hello! Hi! Goodbye!) >>> while True: ... s=f.readline() ... if s==: ... break ... print(s.strip()) ... Hello! Hi! Goodbye!
经验分享 程序员 微信小程序 职场和发展