文章目录(PS:觉得不错请点赞收藏支持一下)

一、入门操作

1.1 打开

  1. 语法格式
open(name,mode)
name: 表示文件路径
mode: 设置文件的模式 
  1. 文件模式
模式 描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
  1. 应用
f1 = open('user.txt','r') # 打开

1.2 写入

  1. 语法格式
对象.write('内容')
  1. 应用
f1 = open('user.txt','r') # 打开
f1.write('hello world')  # 文件写入 
f1.close()  # 关闭
  1. 注意
如果写入的是中文,可能会出现乱码
我们需要传递编码
f1 = open('user.txt','r',encoding='utf-8')

1.3 读取

  1. 语法格式
>1 read()  方法
文件对象.read(num)
# num表示要从文件中读取的数据的长度,默认所有的数据

>2 readline() 方法
# 一次读取一行内容

>3 readlines() 方法
# 读取全部内容,返回列表
  1. 应用
f1 = open('user.txt','r',encoding='utf-8') # 打开
print(f1.readline()) # 每次读取一行内容
print(f1.readlines())  # 读取全部内容
f1.close()  # 关闭

1.4 指针

  1. seek() 方法
  • 用来移动文件指针
  • 语法格式
文件对象.seek(偏移量,起始位置)
""" 起始位置: 0 : 文件开头 1 : 当前位置 2 : 文件结尾 """

1.5 关闭

  1. close()
  • 只要使用了 open() 打开文件,就要关闭
  • 语法格式
文件对象.close()

二、任务清单

  1. 有一个user.txt文件,共有3行内容
""" Everyone has his own dream which can be realized or not and which can be different from time to time However,there must be a longtern one in one's mind """
# 将文件内容全部读取出来,打印到控制台上
with open('user.txt',encoding='utf-8')as f:
    print(f.readlines())
    
# 在文件末尾追击1行,内容为In other words,it is not easy to be realized
with open('user.txt','a',encoding='utf-8')as f:
    f.write('\nIn other words,it is not easy to be realized')
    
# 将文件内容读取出来,并在每1行的额前面加上English Content: ,最后再输出
with open('user.txt',encoding='utf-8')as f:
    for i in f.readlines():
        print(f'English Content:{
     i}')

"""删除aa.txt中的内容,换成如下内容 It's a11 written by Hu. In fact, I don't know what these English mean"""
with open('user.txt','w',encoding='utf-8')as f:
    f.write("It's a11 written by Hu. In fact, I don't know what these English mean")

  1. 有一个 bb.txt 文件,内容都是英文小写,将文件内容都改成英文大写
with open('bb.txt',encoding='utf-8')as f:
    for i in f.readlines():
        print(i.upper() if i.islower() else i)