python-文件操作复习

'''
 r 表示只读
 rb 表示以二进制的形式打开文件
 w   只写 会将源文件内的内容全部清除再重新写入过
 wb 只写,以二进制形式将内容写入
 a  写操作,,追加内容进行写入,,即写在文件最后面
 ab 以二进制形式将内容写到原文件内容最后面
 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 先写再读的话,读到的是没有被写入覆盖的原文件内容
 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。  只
 w+    打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,先写再读
即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。先写再读
a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

带了b就代表以二进制形式对文件进行读写操作,在open()函数里面就不用指定encoding了
'''
# f = open(file='文件读写操作的实验数据.txt', mode='r', encoding='utf-8') # 这里的编码要与要打开的文件编码一致
# content = f. read() # 通过read()函数读取
# print(content)
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='rb') # 这里的编码要与要打开的文件编码一致
# content = f. read() # 通过read()函数读取
# print(content)
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='w', encoding='utf-8')
# f.write("这是一次写入文件的实验")
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='wb')
# f.write('这是一次追加写入文件的实验'.encode('utf-8')) # 以byte的进行将内容写入文件(即二进制形式)
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='a', encoding='utf-8')
# f.write('\n第二次追加写入')
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='ab')
# f.write('\n第三次追加写入,以二进制形式'.encode('utf-8'))
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='r+', encoding='utf-8')
# print(f.read())
# f.write("r+写入实验")
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='rb+')
# print(f.read())
# f.write("\nr+写入实验".encode('utf-8'))
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='w+', encoding='utf-8')
# f.write("这是一次写入文件的实验")
# f.seek(0) # 将文件文件指针定位于开头(因为使用w写的时候会清除内容在写,所以写完后文件指针在末尾)
# print(f.read())
# f.close()

# f = open(file='文件读写操作的实验数据.txt', mode='a+', encoding='utf-8')
# f.write('\n第二次追加写入')
# f.seek(0) # 写完再读的时候,要讲文件文件指针置为0
# print(f.read())
# f.close()


# function 功能详解
# f = open(file='文件读写操作的实验数据.txt', mode='r+', encoding='utf-8')
# f.seek(3) # 可以将文件指针定位到指定长度的字节后   注意:是按照字节长度定位的而不是字符 一个utf-8由三个字节组成
# f.tell() # 获得文件指针的位置
# f.readable()  # 是否可读
# line = f.readline() # 一行一行读取
# line = f.readlines() # 每一行当成列表中的一个元素,添加到列表中
# f.truncate(6)  # 截取文件操作,即将文件从文件指针位置开始截取指定长度的字节
# print(line)
# print(f.read())
# content = f.read(3) # read()函数中可以指定读取的字符数
# print(content)
# lis = f.readlines()
# print(lis[1], lis[0])
# f.close()


# 一般打开文件使用with 文件会自动关闭,不需要手动使用close关闭
# 可以同时打开多个文件
# 修改文件操作, 在python中并没有提供修改文件的操作,我们对文件进行修改操作就是将文件先用Python读入进来,变成字符串,在对字符串进行修改
# 将修改后的字符串写入到一个新的文件中,然后在将原文件删除,把新文件修改为原文件的名字。
with open(file='文件修改实验.txt', encoding='utf-8') as f, open(file='文件修改副本.txt', mode='w', encoding='utf-8') as new_f:
    for line in f:  # 一行一行读取文件
        if '起风了' in line:
            line = line.replace('起风了', '打雷了')

        # 将内容写入到新文件中
        new_f.write(line)

import os
os.remove('文件修改实验.txt') # 删除文件
os.rename('文件修改副本.txt', '文件修改实验.txt') # 重命名文件
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值