f = BytesIO(b’\xe4\xb8\xad\xe6\x96\x87’)
f.read()
b’\xe4\xb8\xad\xe6\x96\x87’
总结
stringIO 比如说,这时候,你需要对获取到的数据进行操作,但是你并不想把数据写到本地硬盘上,这时候你就可以用stringIO
‘’’
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’
from io import StringIO
from io import BytesIO
def outputstring():
return ‘string \nfrom \noutputstring \nfunction’
s = outputstring()
将函数返回的数据在内存中读
sio = StringIO(s)
可以用StringIO本身的方法
print(sio.getvalue())
string
from
outputstring
function
也可以用file-like object的方法
‘’’
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
‘’’
s= sio.readlines()
for i in s:
print(i.strip())
string
from
outputstring
function
将函数返回的数据在内存中写
sio = StringIO()
sio.write(s)
36
可以用StringIO本身的方法查看
s = sio.getvalue()
print(s)
string
from
outputstring
function
如果你用file-like object的方法查看的时候,你会发现数据为空
sio = StringIO()
sio.write(s)
36
for i in sio.readlines():
print(i.strip())
这时候我们需要修改下文件的指针位置
我们发现可以打印出内容了
sio = StringIO()
sio.write(s)
36
sio.seek(0,0)
0
print(sio.tell())
0
for i in sio.readlines():
print(i.strip())
string
from
outputstring
function
这就涉及到了两个方法seek 和 tell
tell 方法获取当前文件读取指针的位置
seek 方法,用于移动文件读写指针到指定位置,有两个参数,第一个offset: 偏移量,需要向前或向后的字节数,正为向后,负为向前;第二个whence: 可选值,默认为0,表示文件开头,1表示相对于当前的位置,2表示文件末尾
用seek方法时,需注意,如果你打开的文件没有用’b’的方式打开,则offset无法使用负值哦
stringIO 只能操作str,如果要操作二进制数据,就需要用到BytesIO
文末有福利领取哦~
👉一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉二、Python必备开发工具
👉三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!