参考:StringIO和BytesIO
NOTE
1.StringIO: 顾名思义就是在内存中读写str。
#!/usr/bin/env python
from io import BytesIO as StringIO
def main():
f = StringIO()
f.write('Hi')
f.write(' ')
f.write('all')
print(f.getvalue())
f1 = StringIO('Hi I am wasdns')
s = f1.readline()
print(s.strip())
if __name__ == '__main__':
main()
getvalue()方法用于获得写入后的str。
sh-3.2# ./stringio.py
Hi all
Hi I am wasdns
2.BytesIO: 如果要操作二进制数据,就需要使用BytesIO.
#!/usr/bin/env python3
from io import BytesIO
def main():
f = BytesIO()
f.write('中文'.encode('utf-8'))
print(f.getvalue())
f1 = BytesIO('中文'.encode('utf-8'))
print(f1.read())
if __name__ == '__main__':
main()
用法和StringIO没差多少,只不过数据需要使用二进制流。
sh-3.2# ./bytesio.py
b'xe4xb8xadxe6x96x87'
b'xe4xb8xadxe6x96x87'
2017.3.15