6、Python之文件操作

一、文件操作流程

 

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件

1、读文件

 1 file = open("data.txt","r",encoding='utf-8') #data.txt 文件 r-只读 utf-8编码规则 file为文件句柄
 2 #f = file.read()  #将文件所有数据读到内存中地址指向f
 3 #f = file.readline() #读取文件一行
 4 #f = file.readlines() #读取文件所有行并将其转为列表,每行表示列表的一个元素
 5 p = file.tell() #显示当前文件坐标显示的位置
 6 p = file.seek(3) #将文件坐标移到第三个位置
 7 
 8 print(file.readable()) #判断文件是否可读
 9 print(file.readline())
10 
11 file.close() #关闭文件

2、写文件

1 file = open("data.txt","w",encoding='utf-8') #data.txt 文件 w-只写 utf-8编码规则 file为文件句柄
2 file.write("我在写文件,如果文件不存在就新建一个文件,如果存在就清楚之前的文件内容,然后写入!\n表示换行")
3 print(file.writable()) #判断文件是否可读
4 file.flush()  #刷新缓冲区
5 file.writelines("\n我表示像文件中写入一行")
6 file.close() #关闭文件

代码4file.flush()表示刷新缓冲区,我们在写文件的时候一般不是直接写到磁盘上的,而是先写入内存的一个缓冲区中,等缓冲区满了,再将数据一次性写入磁盘,file.flush()方法就是将缓冲区中的数据写入磁盘而不需要等待缓冲区是否满。

3、文件追加内容

1 file = open("data.txt","a",encoding='utf-8') #data.txt 文件 a-追加 utf-8编码规则 file为文件句柄
2 file.write("因为文件模式为a,所以我会将这行内容追加到文件的最后位置")
3 print(file.tell()) #因为文件模式为a(追加模式),所以文件下标会默认移到文件最后位置
4 file.truncate(99)#从文件起始位置开始截取长度为100个字节
5 print(file.fileno()) #打印文件编号
6 file.close() #关闭文件

3、with语句

    我们有时候在打开文件的时候会忘记关闭,这时候我们使用with关键字来打开文件即可,语法如下:

1 with open("data.txt","r",encoding='utf-8') as f:   #打开单个文件
2     pass
3 with open('log1') as obj1, open('log2') as obj2: #打开多个文件的语法
4     pass

4、打开文件的模式有:

  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab
posted @ 2018-01-25 14:02  高文祥888888  阅读(240)  评论(0编辑  收藏  举报