使用python对文件进行操作

Open方法:a=open(‘文件路径’,mode=‘对文件进行的操作’)

A是句柄代表文件进行操作,
mode=访问文件的模型,r 表示读,默认也是r 模式

open是内置函数,会返回一个file对象赋值给a,a用来对文件进行操作a.file类中的方法,方法需要和mode相对应

open方法操作完之后需要用a.close()来关闭文件

读取操作

  1. r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
  2. rb :以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
    注意:二进制文件把内容表示为一个特殊的bytes字符串类型。
  3. r+ :打开一个文件用于读写。文件指针将会放在文件的开头。
  4. rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

写操作

  1. w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
  2. wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
  3. w+:打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
  4. wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
  5. a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  6. ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  7. a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
  8. ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

读取操作

  1. .read()
    调用read()会一次性读取文件的全部内容,如果文件有10G,内存就爆了,会导致程序卡死,所以,要保险起见,可以反复调用read(数字)方法,每次最多读取数字个字符的内容。
  2. .readline()
    readline每次读取一行,并且自带换行功能 每一行末尾会读到\n
  3. .readlines()
    Readlines,一次性以行的形式读取文件的所有内容并返回一个list,需要去遍历读出来
  4. .循环读取
    file句柄是一个可迭代的对象因此,可以循环读取文件中的内容,每次读一行。

写入操作

  1. .write()
    在这里插入图片描述
  2. .writelines()
    file.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。

write和writelines的区别:
1、baifile.write(str)的参数是一个字符串,就是你要写入文件的内容.
2、file.writelines(sequence)的参数是序列内,比容如列表,它会迭代帮你写入文件。

其他操作
.tell()
tell获取文件当中当前光标所在的位置
.seek()
seek():移动文件读取指针(光标)到指定位置
seek()的三种模式:

  1. f.seek(x,0)
    第二个参数0 表示绝对位置(文件的开头位置),第一个参数x表示文件开头的第几个字节位置开始读取内容。
    在这里插入图片描述
    f.seek(1,0)
    在这里插入图片描述
    注意中文utf-8 一个汉字表示3个字节。

  2. f.seek(x,1) 第二个参数1表示相对位置(光标当前位置),第一个参数X表示移动几个字节开始读取。
    注意:如果是操作文本x只能是0 ,如果是以二进制模式操作 x可以是其他内容。

  3. f.seek(x,2) 2表示光标在文件的末尾,x表示从文件末尾开始移动几个位置后开始读取,
    注意: 如果是文本只能是0,如果是二进制模式,x可以是其他内容

.name和mode
file.name 返回 路径
file.mode 返回 文件读写模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值