Python笔记(十二)_文件

时间:2021-11-04 20:17:23

文件的打开模式

'r':以只读的方式打开文件(默认)

'w':以写入的方式打开文件,会覆盖已存在的文件

'x':用写入的方式打开文件,如果文件已存在,会抛出异常

'a':用写入的方式打开文件,如果文件已存在,则在末尾追加写入

'b':以二进制模式打开文件

't':以文本模式打开文件

文件对象方法

打开文件对象

1.在单独写程序时,代码中需要打开文件,将程序与文件位置放在一块即可

f=open(file_name)

2.在交互环境中打开文件,需写出文件的位置

f=open('E:/data/test.txt')

关闭文件对象

file_name.close()

当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入

只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了

从文件对象中读

1.从文件中读字符,以字符串返回。

给定size时,读取size个字符;未给或给负值时,读取文件中剩余的所有字符

file_name.read(size)

2.从文件中读一行字符,以字符串返回。

给定size时,读一行中的size个字符;未给或给负值时,返回整个一行字符

file_name.readline(size)

3.迭代打印出文件中的每一行数据

>>>for each_line in file_name:
  print(each_line)

如果文件很小,read()一次性读取最方便;

如果不能确定文件大小,反复调用read(size)比较保险;

如果是配置文件,调用readlines()最方便

向文件对象写入

1.将字符串写入文件

file_name(str)

2.将序列写入文件

file_name.writelines(seq)

文件对象指针

1.返回当前指针在文件中的位置

file_name.tell()

2.移动文件指针。

offset是移动的字节数;from是开始位置(0:文件的起始位置,1:当前,2:文件末尾)

file_name.seek(offset,from)

将文件对象转换为列表

list(file_name)