import io

# io模块里面主要使用StringIo和BytesIo

# StringIo
f = io.StringIO()  # 像使用open函数创建文件一样,生成一个句柄
# 可以直接向f里面写入数据
f.write("when i was young ,i'd listen to the radio\n")
f.write("我是你爸爸\n")
f.write("hello,mother fucker")
# 获取内容可以通过getvalue函数
data = f.getvalue()
print(data)
print(type(data))
# 运行结果
'''
when i was young ,i'd listen to the radio
我是你爸爸
hello,mother fucker
<class 'str'>
'''

# 也可以在创建句柄的时候,直接写入数据
f1 = io.StringIO("六月的古明地盆")
data = f1.read()  # 但此时要用f.read()函数
print(data)
print(type(data))
# 运行结果
'''
六月的古明地盆
<class 'str'>
'''

# StringIo,由名字也可以看出,只能写入字符串,如果要写入字节类型,需要使用BytesIo
# BytesIo的用法和StringIo的用法基本一样,只是写入内容的形式不一样,前者为字节,后者为字符串

f = io.BytesIO()
f.write(bytes("我是你爸 ", encoding="utf-8"))
f.write(bytes("the feelings i have towards you is not lust,but limerence", encoding="utf-8"))
data = f.getvalue()
print(data)
print(type(data))
# 运行结果
'''
b'\xe6\x88\x91\xe6\x98\xaf\xe4\xbd\xa0\xe7\x88\xb8 the feelings i have towards you is not lust,but limerence'
<class 'bytes'>
'''

# 使用BytesIo的时候,可以和StringIo一样在创建句柄的时候,写入数据
f = io.BytesIO(bytes("轩墨是我身下受", encoding="utf-8"))
data = f.read()
print(data)
print(type(data))
# 运行结果
'''
b'\xe8\xbd\xa9\xe5\xa2\xa8\xe6\x98\xaf\xe6\x88\x91\xe8\xba\xab\xe4\xb8\x8b\xe5\x8f\x97'
<class 'bytes'>
'''

python--io的更多相关文章

  1. Python——IO多路复用之select模块epoll方法

    Python——IO多路复用之select模块epoll方法 使用epoll方法实现IO多路复用,使用方法基本与poll方法一致,epoll效率要高于select和poll. .├── epoll_c ...

  2. Python——IO多路复用之select模块poll方法

    Python——IO多路复用之select模块poll方法 使用poll方法实现IO多路复用 .├── poll_client.py├── poll_server.py└── settings.py ...

  3. Python——IO多路复用之select模块select方法

    Python——IO多路复用之select模块select方法 使用select模块的select方法实现Python——IO多路复用 实现同时将终端输入的文本以及客户端传输的文本写入文本文件中: w ...

  4. python IO流操作

    python IO流操作 学习完本篇,你将会独立完成 实现操作系统中文件及文件目录的拷贝功能. 将目标图片拷贝到指定的目录中 实现一个自动阅卷程序, Right.txt保存正确答案,xx(学生姓名). ...

  5. Python IO编程

    IO在计算机中指Input/Output,也就是输入和输出 一.文件读写 1.读文件 >>> f = open('/Users/michael/test.txt', 'r') --- ...

  6. [Python]IO密集型任务 VS 计算密集型任务

    所谓IO密集型任务,是指磁盘IO.网络IO占主要的任务,计算量很小.比如请求网页.读写文件等.当然我们在Python中可以利用sleep达到IO密集型任务的目的. 所谓计算密集型任务,是指CPU计算占 ...

  7. [Python] io 模块之 open() 方法

    io.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True) 打开file ...

  8. python io 模块之 open() 方法(好久没写博客了)

    io.open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True),打开file ...

  9. python IO 文件读写

    IO 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题. 如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这100M数据可 ...

  10. Python IO 多路复用 \协程

    IO 多路复用 作用:  检测多个socket是否已经发生变化(是否已经连接成功/是否已经获取数据) 即(可读/可写) IO请求时 解决并发  :  单线程 def get_data(key): cl ...

随机推荐

  1. android systemtrace 报错

    折腾了很久,妈的,终于可以跑出来systemtrace了.如果你跟我一样,老是生成trace失败,那么,按我说的啦: 坑就在,你必须选一个路径存放trace.html,你不选一个,他就生成不了. 打开 ...

  2. android的dmtracedump工具生成trace文件图片 'dot' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    http://jingyan.baidu.com/article/c910274bfa6c1fcd361d2df7.html http://www.cnblogs.com/albert1017/p/3 ...

  3. sql中给逗号分隔的查询结果替换单引号

    技术交流群:233513714 第一种方法: SELECT * FROM pay_inf_config a WHERE a.id IN ( SELECT REPLACE ( concat('''', ...

  4. 斐波那契数列(递归)&求100以内的素数

    Java 5 添加了 java.util.Scanner 类,这是一个用于扫描输入文本的新的实用程序.它是以 前的 StringTokenizer 和 Matcher 类之间的某种结合.由于任何数据都 ...

  5. Spring_依赖注入思想

    Ioc(Inversion of Control) 控制反转,DI(Dependncy Injection)依赖注入,其实是指同一种思想.举例说明: 张三在某公司负责供水问题.有两种形式,第一种老板指 ...

  6. python语言中threading.Thread类的使用方法

    1. 编程语言里面的任务和线程是很重要的一个功能.在python里面,线程的创建有两种方式,其一使用Thread类创建 # 导入Python标准库中的Thread模块 from threading i ...

  7. asp.net 常用几种下载方式

    protected void Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一个新的方法TransmitFile来解决使 ...

  8. 《Cracking the Coding Interview》——第8章:面向对象设计——题目3

    2014-04-23 18:10 题目:设计一个点唱机. 解法:英文叫Musical Jukebox.这是点唱机么?卡拉OK么?这种题目实在是云里雾里,又没有交流的余地,我索性用一个vector来表示 ...

  9. 【ZigZag Conversion】cpp

    题目: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows l ...

  10. ADB命令总结(1)

    今日继续学习ADB,使用真机来操作,因此把所用到的命令总结如下: 一,模拟按HOME键 adb shell input keyevent KEYCODE_HOME 二,滑动手机屏幕 从(x1,y1)滑 ...