IO操作

作者: cc_cv | 来源:发表于2020-08-05 11:16 被阅读0次

一、什么是IO流
I:就是input 、O:就是output ,故称:输入输出流。
将数据读入内存或者内存输出的过程
常见的IO流操作,一般说的是【内存】与【磁盘】之间的输入输出。
二、作用
持久化数据,保证数据不再丢失!
文件操作流程:打开文件、读写数据、关闭文件。

1、根据数据流动方向(粘在内存的角度来说)
    r——输入流
    w——输出流

2、根据数据的类型
    b——字节流
    t——字符流

三、open()函数用法

open(name[, mode[, buffering[,encoding]]]) 

参数解释
name : 访问的文件名称的字符串值(区分绝对路径和相对路径)。
mode : mode 决定了打开文件的模式:只读,写入,追加等。
buffering : 如果 buffering 的值被设为 0,就不会有寄存。如果 buffering 的值取 1,访问文件时会寄存行。如果将 buffering 的值设为大于 1 的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

image.png
image.png

四、高级的打开open

语法:with…open
with open('./hello.txt', 'r') as f:
    print(f)
注:这里的as和前面提到过的as是异曲同工的,都是起到别名的作用。

这种语法,就是可以避免每次需要手动关闭文件,这种方式会在需要的时候自动关闭。

五、文件操作

文件读取
1、read()方法
read(num)
read()可以读取文件里面的内容。num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据。
2、readline()
readline:读取第一行,返回一个字符串。
3、readlines()
readlines:按照行的方式读取整个文件,每一行作为列表的一个元素,最后返回一个列表。

六、文件写入

write()方法和writelines(seq)方法
这两个方式都是用于文件写入的。需要注意的是,他们写完后在文件末尾都不会写入换行符。

七、其他操作
在某些场景下,可能我们需要更加方便的处理文件,例如,当我们读取文件一半的时候,我们需要读文件的后面具体的某些内容,这时候,我们就需要移动文件的指针来读取了。当然,都不用担心,python 都提供了这些方法,下面就讲解这些方法。

1、tell()
返回文件游标操作的当前位置,以文件的开头为原点。

2、seek(offset[,whence])
移动指针方法。
offset :开始的偏移量,也就是代表需要移动偏移的字节数
whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。

3、flush()
把缓冲区的内容写入硬盘。

4、truncate()
把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

八、文件关闭
文件关闭是指,在文件操作完成之后,需要关闭。

f = open('./hello.txt', 'r')
f.close()

相关文章

  • 同步异步,阻塞,非阻塞

    IO操作其实可以分成两个步骤,请求IO操作和执行IO操作。一般的IO调用过程是这样的:发起IO操作的请求,执行IO...

  • 文件 io

    文件操作 io读操作 io写操作 复制文件 断点续传 bufio包 func NewReader(rd io.Re...

  • linux IO多路复用笔记

    什么是IO io是数据的接收和发送操作,linux进程无法直接操作io设备,需要通过系统调用请求内核来完成io操作...

  • IO 编程模型(java篇) 精华一页纸

    通常的IO操作,只要不是操作系统内存的数据,基本都是IO操作,常见的IO操作,一般都是 操作磁盘、网卡这些(串口这...

  • 阻塞IO与多路复用

    IO操作 在内存中存在数据交换的操作都可以认为是IO操作 IO密集型程序 在程序执行过程中存在大量IO操作,而cp...

  • IO操作

    1、File的简单操作 2、节点流与功能流2.1、节点流字节流:InputStream、OutputStream、...

  • IO操作

    标准字符集常量定义类:StandardCharsets.UTF_8 获取文件路径: Read 读取yml文件: I...

  • IO操作

    一、什么是IO流I:就是input 、O:就是output ,故称:输入输出流。将数据读入内存或者内存输出的过程常...

  • io操作

    从上到下:1.ios_base类 表示流的一般特征,如是否可读取、是二进制流还是文本流等。2.ios类 基于ios...

  • IO操作

    原文链接http://zhhll.icu/2020/05/18/java%E5%9F%BA%E7%A1%80/IO...

网友评论

      本文标题:IO操作

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