美文网首页
六、IO、进程和线程

六、IO、进程和线程

作者: 井上皓 | 来源:发表于2018-10-08 09:23 被阅读0次

1.IO编程


Python内置读写文件函数的用法和C是兼容的

在磁盘上读写文件必须通过操作系统提供的接口来读写文件!

a、读写文件


open()  函数

open() 

第一个参数是文件的地址加文件名,第二个参数是‘r’代表读。

read()  函数

read()

read函数以字符串的方式打印出来

注意:文件使用完毕后必须关闭,不关闭会占用内存。

close() 函数

close()

为了保证一定会正确的关闭文件我们可以使用with语句

with语句

with语句会自动调用close()方法关闭文件。

with语句 结果

注意:调用read()会一次性读取文件的全部内容。但是有时候你的文件量大过你的内存!

read(size)和readlines()

read(size):按size个字节读取

readlines():按行读取

read(size)和readlines()   结果 一共四行

open()  函数的参数

读取二进制文件,比如图片、视频等使用 'rb' 参数。

 'rb' 参数

读取非UTF-8编码的文本文件,传入encoding参数。

encoding参数

写文件

同读文件所使用的open()函数是同一个函数,不过参数不一样。其参数为 'w' (文本文件) 或者 'wb' (二进制文件) ,参数为 'a' 只会对文档进行追加。

使用 结果

b、StringIO和BytesIO


StringIO:在内存中读写str。

BytesIO:在内存中读写bytes,操作二进制数据。

首先是引入模块

引入 模块

StringIO

例子

getvalue()方法用于获得写入后的str。

例子

BytesIO

例子 例子

2.进程和线程


进程是一个具体的应用程序,线程是进程中的一个分支,为单独完成程序中的某一项或一组功能而存在。

应用程序可以有一个或多个进程,一个进程可以有一个或多个线程,其中一个是主线程(线程是进程中的实体,一个线程必须有一个父进程).

在客观工作环境中总是有多个任务,为了解决这个问题就有以下三种模式。

1.多进程模式;

2.多线程模式;

3.多进程+多线程模式。

a、多进程


由于Windows没有fork调用,所以使用multiprocessing模块就是跨平台版本的多进程模块。

multiprocessing模块提供了一个Process类来代表一个进程对象

相关文章

  • 六、IO、进程和线程

    1.IO编程 Python内置读写文件函数的用法和C是兼容的 在磁盘上读写文件必须通过操作系统提供的接口来读写文件...

  • 进程 线程 协程 异步IO

    进程 线程 协程 异步IO 线程和进程对比 使用线程的方式不能很好的使用多核cpu的能力 使用进程可以利用多核CP...

  • Java Thread一些概念

    基本概念 进程和线程 进程进程是系统进行资源分配的最小单位,其中资源包括:CPU 、内存空间、磁盘IO等 线程线程...

  • 并发

    并发 多线程 异步IO 多进程

  • python之多线程与多进程入门

    python之多线程与多进程 关键词: GIL锁,IO繁忙,线程安全,线程同步,进程池,进程通信,队列 GIL锁;...

  • IO 多路复用

    IO 多路复用 如何提升并发能力? 多线程模型,创建新的线程处理请求 多进程模型,创建新的进程处理请求 IO 多路...

  • Python基础语法 - 5 内存管理和多线程

    引用计数和分代回收多线程和锁和线程池多进程和通信和锁和进程池协程和异步io async await 内存管理 1....

  • [python] 初识多线程

    背景 对于IO操作来说,多线程和多进程差别不大,甚至多线程比多进程效率更高,因为对于操作系统来说,线程的调度比多进...

  • 58(5.3)

    53分钟。 线程和进程区别 Java的线程安全 什么是线程安全,如何保障。哪些变量是线程安全。 Java IO 分...

  • 整理一些遇到的问题

    常见的IO模型 单线程阻塞 多线程阻塞 多进程阻塞 非阻塞轮询 事件驱动IO 信号驱动式IO 异步IO(指的是使用...

网友评论

      本文标题:六、IO、进程和线程

      本文链接:https://www.haomeiwen.com/subject/yztdaftx.html