Python学习札记(四十二) IO 2

参考: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

原文地址:https://www.cnblogs.com/qq952693358/p/6556828.html