一、入门操作
1.1 打开
- 语法格式
open(name,mode)
name: 表示文件路径
mode: 设置文件的模式
- 文件模式
模式 | 描述 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
- 应用
f1 = open('user.txt','r')
1.2 写入
- 语法格式
对象.write('内容')
- 应用
f1 = open('user.txt','r')
f1.write('hello world')
f1.close()
- 注意
如果写入的是中文,可能会出现乱码
我们需要传递编码
f1 = open('user.txt','r',encoding='utf-8')
1.3 读取
- 语法格式
>1 read() 方法
文件对象.read(num)
>2 readline() 方法
>3 readlines() 方法
- 应用
f1 = open('user.txt','r',encoding='utf-8')
print(f1.readline())
print(f1.readlines())
f1.close()
1.4 指针
- seek() 方法
文件对象.seek(偏移量,起始位置)
""" 起始位置: 0 : 文件开头 1 : 当前位置 2 : 文件结尾 """
1.5 关闭
- close()
- 只要使用了 open() 打开文件,就要关闭
- 语法格式
文件对象.close()
二、任务清单
- 有一个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())
with open('user.txt','a',encoding='utf-8')as f:
f.write('\nIn other words,it is not easy to be realized')
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")
- 有一个 bb.txt 文件,内容都是英文小写,将文件内容都改成英文大写
with open('bb.txt',encoding='utf-8')as f:
for i in f.readlines():
print(i.upper() if i.islower() else i)
