python 同步IO
IO在计算机中指Input/Output 由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。
IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单向流动。Input Stream就是数据从外面(磁盘、网络)流进内存,Output Stream就是数据从内存流到外面去。对于浏览网页来说,浏览器和新浪服务器之间至少需要建立两根水管,才可以既能发数据,又能收数据。
同步和异步的区别就在于是否等待IO执行的结果
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
StringIO
很多时候,数据读写不一定是文件,也可以在内存中读写。
StringIO顾名思义就是在内存中读写str。
>>> from io import StringIO
>>> f = StringIO()
>>> f.write('hello')
5
>>> f.write(' ')
1
>>> f.write('world!')
6
>>> f.read()
hello world
BytesIO
StringIO操作的只能是str,如果要操作二进制数据,就需要使用BytesIO。
BytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes:
>>> from io import BytesIO
>>> f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87')
>>> f.read()
b'\xe4\xb8\xad\xe6\x96\x87'
文件os处理
import os
print(os.path.abspath('.')) #显示当前绝对路径
abs = os.path.abspath('.')
file = os.path.abspath(__file__)
print(os.path.abspath(__file__)) #显示当前绝对路径加当前文件
s = os.path.join(abs, 'testdir') #合并
print(s)
#os.mkdir(s) #创建目录
# os.rmdir(s) #删除目录
split = os.path.split(file) #拆分路径和文件
print(split)
print(split[1])
最新文章
- 动态调用webservice(部分转载)
- 遍历所有表,取每个表的MAXID更新到ID控制表
- 【翻译自nikic大神】PHP中原生类型的方法
- Java_动态加载
- SCCM 2007日志
- WinScp上传和下载
- (转)实战Memcached缓存系统(5)Memcached的CAS程序实例
- iframe的使用小贴士
- top 10 js mvc
- SpringMVC——数据校验
- AngularJs的基本使用(一)
- 部署WebService
- 2019省赛训练组队赛3.31周四-17fj
- 解决安装YouCompleteMe与Vim版本不兼容问题
- MySQL的BLOB类型(解决mysql不支持mb4编码的时候存储emoji表情问题)
- docker中使用的镜像加速器可以自己生成
- php获取并删除数组的第一个和最后一个元素
- 让你看不懂的swift语法
- C#.NET常见问题(FAQ)-程序不包含适合于入口点的静态“Main”方法怎么办
- ambassador 学习二 认证