Python中文件的常用操作

01.open() 和 close()

open()用来打开一个文件,返回一个文件对象:

  • r 只读方式打开文件,默认方式。
  • rb 二进制格式打开文件用于只读。
  • rb+ 二进制格式打开文件用于读写。
  • w 写入方式打开文件,执行操作:若此文件存在则打开文件,并从开头开始写入,这样原有内容会被删除。若该文件不存在,创建新文件从头写入。
  • w+ 打开文件用来读写,操作与w相同。
  • wb 二进制格式和写入方式打开文件,操作与w相同。
  • a 打开文件用于追加。执行操作:若文件已存在,文件指针将会放在文件的结尾,若该文件不存在,创建新文件进行写入。
  • a+ 打开文件用来读写,操作与a相同。
  • ab 以二进制格式打开文件用于追加,操作与a相同。
  • ab+ 以二进制格式打开文件用于追加,文件指针在文件末尾,操作与a相同。
f = open("excellent.txt", "r") #以只读的方式打开excellent.txt文件
f.close() #关闭已打开的文件

02.write() 、 read()和readline()

  • write(string) string为要写入的内容字符串,将string写入到文件中去
  • read(size) size为要读取的个数(size可以不写则读取全部) ,将读取到的内容返回显示
  • readline() 从文件中读取单独的一行
f = open("excellent.txt", "w")  # 以写入的方式打开excellent.txt文件
f.write("风吹着我向你跑来\n我期待 成为你的青睐")
f.close()  # 关闭已打开的文件
print("【输出读取所有字符串】:")
f = open("excellent.txt", "r")  # 以只读的方式打开excellent.txt文件
readAll = f.read()
print(readAll)
f.close()
print("【输出读取到指定长度6个字符】:", end="")
f = open("excellent.txt", "r")
readSize = f.read(6)
print(readSize)
f.close()
print("【输出读取单独一行】:", end="")
f = open("excellent.txt", "r")
readLine = f.readline()
print(readLine)
f.close()

运行结果

【输出读取所有字符串】:
风吹着我向你跑来
我期待 成为你的青睐
【输出读取到指定长度6个字符】:风吹着我向你
【输出读取单独一行】:风吹着我向你跑来

03.tell()和seek()

  • tell() 返回文件对象当前所在的位置,从文件开头开始算起的字节数。
  • seek() 如果要改变文件当前的位置, 可以使用 f.seek(number, position) 函数来改变,number为移动的字符个数,position有三个值:0表示从头开始,1表示当前位置,2表示文件末尾,position默认值为0.
f = open("excellent.txt", "w")
f.write("123456789JRs")
print("当前文件指针位置在第{}字节的位置.".format(f.tell()), end="")
f = open("excellent.txt", "rb+")  # 以二进制的方式读取
print(f.read())
f.seek(4, 0)  # 移动到文件的第4字节位置
print("f.seek(4, 0)当前文件指针位置在第{}字节的位置".format(f.tell()), end="")
print("读取字符【{}】".format(f.read(1)))
f.seek(3, 1)  # 从当前位置后移3字节
print("f.seek(3, 1)当前文件指针位置在第{}字节的位置.".format(f.tell()))
f.seek(-3, 2)  # 移动到文件的第-3字节位置
print("f.seek(-3, 2)当前文件指针位置在第{}字节的位置.".format(f.tell()))

运行结果

当前文件指针位置在第12字节的位置.b'123456789JRs'
f.seek(4, 0)当前文件指针位置在第4字节的位置读取字符【b'5'】
f.seek(3, 1)当前文件指针位置在第8字节的位置.
f.seek(-3, 2)当前文件指针位置在第9字节的位置.

【Moment】:风吹着我 向你跑来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值