zoukankan      html  css  js  c++  java
  • IO模块的使用

    Python之IO模块的使用

    1.StringIO的使用

    # 类似文件的缓冲区
    from io import StringIO
    cache_file = StringIO()
    print(cache_file.write('hello world')) # 11
    print(cache_file.seek(0)) # 0
    print(cache_file.read()) # hello world
    print(cache_file.close())  # 释放缓冲区
    
    如果你依然在编程的世界里迷茫,
    不知道自己的未来规划,
    对python感兴趣,
    这里推荐一下我的学习交流圈QQ群:895 797 751,
    里面都是学习python的,
    
    • StringIO经常被用来作字符串的缓存,因为StringIO的一些接口和文件操作是一致的,也就是说同样的代码,可以同时当成文件操作或者StringIO操作;
    • 要读取StringIO,可以用一个str初始化StringIO,然后像读文件一样读取;
    • 当使用read()方法读取写入的内容时,则需要先用seek()方法让指针移动到最开始的位置,否则读取不到内容(写入后指针在最末尾);
    • getvalue()方法:直接获得写入后的str;
    • close()方法:在关闭文件的缓冲区之后就不能再进行读写操作了;

    2.BytesIO的使用

    # 类似文件的缓冲区
    from io import BytesIO
    bytes_file = BytesIO()
    bytes_file.write(b'hello world')
    bytes_file.seek(0)
    print(bytes_file.read()) # b'hello world'
    bytes_file.close()
    
    如果你依然在编程的世界里迷茫,
    不知道自己的未来规划,
    对python感兴趣,
    这里推荐一下我的学习交流圈QQ群:895 797 751,
    里面都是学习python的,
    
    • StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO;
    • BytesIO实现了在内存中读写bytes,写入的不是str,而是经过UTF-8编码的bytes;
    • 要读取BytesIO,可以用一个bytes初始化BytesIO,然后像读文件一样读取;

    参考链接:https://www.jianshu.com/p/ddaac0b9b430

  • 相关阅读:
    Java基础50道经典练习题(33)——杨辉三角
    Java基础50道经典练习题(32)——左移右移
    团队第二阶段冲刺04
    团队第二阶段冲刺03
    团队第二阶段冲刺02
    团队第二阶段冲刺01
    团队意见汇总
    各组意见汇总
    团队第一阶段冲刺07
    绩效评估01
  • 原文地址:https://www.cnblogs.com/pythonwl/p/15108454.html
Copyright © 2011-2022 走看看