由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题。举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这100M数据可能需要10秒,怎么办呢?有两种办法:

第一种是CPU等着,也就是程序暂停执行后续代码,等100M的数据在10秒后写入磁盘,再接着往下执行,这种模式称为同步IO;

另一种方法是CPU不等待,只是告诉磁盘,“您老慢慢写,不着急,我接着干别的事去了”,于是,后续代码可以立刻接着执行,这种模式称为异步IO。


读文件
要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:

>>> f = open('/Users/michael/test.txt', 'r')

其中r表示读,这样我们就成功打开了一个文件

如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示

>>> f.read()
'Hello, world!'

最后一步必须使用close函数关闭文件,文件使用后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开文件数量也是有限的

>>> f.close()

20190323——Python IO编程相关推荐

  1. python import io_详解Python IO编程

    文件读写 读文件 try: # windows下utf8 f = open('./README.md', 'r', encoding='utf8', errors='ignore') print(f. ...

  2. python IO编程

    1.文件读写 # IO编程 # 文件读写f = open('text.txt','r') # 标示符'r'表示读 str = f.read() print(str) f.close() 如果文件不存在 ...

  3. Python IO编程-组织文件

    对于日常中遇到的批量任务,有些可以通过请求python完成自动化,我非常渴望拥有这些能力,在去年学习了python读写文件之后,我马上迫不及待的开始学习'组织文件',经过学习,我发现python组织文 ...

  4. python IO编程-StringIO和BytesIO

    链接:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319187857 ...

  5. Python IO编程——文件读写

    1.1   文件读写 1.1.1   读文件 >>> f = open('/root/python/hello.py','r')    #标识符r表示读 >>> f ...

  6. Python IO编程详解

    一.文件系统操作 1.os.os.path和pathlib的对比 Python中处理文件路径和文件系统操作的传统方式,是通过os和os.path模块中的函数来完成的.这些函数完全能够胜任需求,但往往会 ...

  7. python学习——IO编程——文件读写

    python--IO编程--文件读写 IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单向流动.Input Stream就是数据从外面(磁盘.网络 ...

  8. Python学习笔记十 IO编程

    参考教程:廖雪峰官网https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 IO编程 I ...

  9. python程序官方网站-IO编程

    IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. 比如你打开 ...

  10. python网络编程基础(线程与进程、并行与并发、同步与异步、阻塞与非阻塞、CPU密集型与IO密集型)...

    python网络编程基础(线程与进程.并行与并发.同步与异步.阻塞与非阻塞.CPU密集型与IO密集型) 目录 线程与进程并行与并发同步与异步阻塞与非阻塞CPU密集型与IO密集型 线程与进程 进程 前言 ...

最新文章

  1. 设计模式 之美 -- 面向对象(C/C++分别实现)
  2. 字符A-Z - ABCD...XYZ
  3. print格式化输出,以及使用format控制
  4. asp.net core 使用Mysql和Dapper
  5. 【Java数据结构与算法】第二章 单链表及简单面试题
  6. leetcode题解14-最长公共前缀
  7. GD32创建工程与启动文件选择
  8. java-assured_rest-assured之获取响应数据(Getting Response Data)
  9. 第六章第九题(英尺和米之间的转换)(Conversions between feet and meters)
  10. IT新人的辛酸反省与总结
  11. 独家专访丨刘江川:从“边缘”到“中心”,边缘计算科学家的创业之路
  12. The server time zone value ‘锟叫癸拷锟斤拷\u05FC时锟斤拷‘ is unrecognized or represents more than one time zone
  13. 公寓宽带服务器无响应,利用RLDP协议解决网络环路故障
  14. win8修改炉石服务器,炉石传说如何去其他服务器玩炉石
  15. schedule问题
  16. 商品货架管理(愿疫情早日消散,大家去见想见的人)
  17. IDEA安装和使用教程,idea 安装本地插件
  18. 谷歌搜索结果在新标签页中打开
  19. linux编辑conf,Linux:我如何编辑resolv.conf
  20. 计算机信息化教学培训心得体会,信息化教学培训心得体会_信息化教育学习收获范文...

热门文章

  1. Windows Server 2019 配置DHCP
  2. python贪吃蛇游戏手把手教学 第一课
  3. 清明柳枝亭子小桥flash动画素材
  4. 利用Matlab筛选给定条件的数据
  5. d630 无线驱动 linux,DELL D630安装CentOS6的无线网卡驱动
  6. 身份证实名认证接口,实名认证API接口文档
  7. java 二元一次方程式_JAVA求解一元一次二次方程
  8. 尼基塔·丹尼诺夫《梦想者》
  9. Zynga任命Noel Watson为董事会成员
  10. java chr()_chr码值对应列表大全