""" 读文件 1.打开文件 open(path,flag,encoding,errors) path:要打开文件的路径 flag:打开方式 打开方式有: r:以只读的方式打开文件,文件的描述符放在文件的开头( 描述符在哪,从哪开始读) rb:以二进制的格式打开一个文件用于只读,放在开头 r+:打开文件用于读写,放在开头 w:打开一个文件只用于写入,如果文件存在就覆盖,不存在创建新文件 wb:以二进制的格式打开一个文件只用于写入,如果文件存在就覆盖,不存在创建新文件 w+:打开一个文件用于读写 a:打开一个文件用于追加(append), 如果文件存在,文件描述符放在末尾,从末尾加内容 encoding:编码方式 errors:错误处理 2.读文件内容 3.关闭文件 """
读文件三步走:
1.打开文件
2.读取
读取文件的方式比较多,常用的有r,w,rb,r+等
3.关闭文件
1.读取全部内容
# 1.打开文件
path = r"C:\Users\Dear\Desktop\1.txt"
# encoding,ignore可以省略
f = open(path, 'r', encoding='utf-8', errors='ignore')
# 2.读文件内容
# 读取文件全部内容 适合读取文件比较小的
str1 = f.read()
print(str1)
# 3.关闭文件
f.close()
代码示例图:
这种读取方式有局限性,假如读取的文件超级大,内存根本放不下
2.读取指定长度的字符,在这里读的时候要把之前的读取代码注释掉,要不然读的起始位置在文末,会读不出来任何内容
# 1.打开文件
path = r"C:\Users\Dear冯\Desktop\1.txt"
# encoding,ignore可以省略
f = open(path, 'r', encoding='utf-8', errors='ignore')
# 2.读文件内容
# 读取文件全部内容 适合读取文件比较小的
# str1 = f.read()
# 读取几个字符 在这里读的时候要把之前读的注释掉,要不然读的起始位置在文末
str2 = f.read(10)
print(str2)
# 接着读
str3 = f.read(10)
print(str3)
# print(str1)
# 3.关闭文件
f.close()
代码示例图:
3.逐行去读
代码如下:
"""
读文件
1.打开文件
open(path,flag,encoding,errors)
path:要打开文件的路径
flag:打开方式
打开方式有:
r:以只读的方式打开文件,文件的描述符放在文件的开头(
描述符在哪,从哪开始读)
rb:以二进制的格式打开一个文件用于只读,放在开头
r+:打开文件用于读写,放在开头
w:打开一个文件只用于写入,如果文件存在就覆盖,不存在创建新文件
wb:以二进制的格式打开一个文件只用于写入,如果文件存在就覆盖,不存在创建新文件
w+:打开一个文件用于读写
a:打开一个文件用于追加(append),
如果文件存在,文件描述符放在末尾,从末尾加内容
encoding:编码方式
errors:错误处理
2.读文件内容
3.关闭文件
"""
# 1.打开文件
path = r"C:\Users\Dear冯\Desktop\1.txt"
# encoding,ignore可以省略
f = open(path, 'r', encoding='utf-8', errors='ignore')
# 2.读文件内容
# 读取文件全部内容 适合读取文件比较小的
# str1 = f.read()
# 读取几个字符 在这里读的时候要把之前读的注释掉,要不然读的起始位置在文末
str2 = f.read(10)
print(str2)
# 接着读
str3 = f.read(10)
print(str3)
# 读1行
str4 = f.readline()
print(str4)
str5 = f.readline()
print(str5)
# print(str1)
# 3.关闭文件
f.close()
代码示例图:
4.读取所有的行,返回列表类型的值
代码如下:
# 1.打开文件
path = r"C:\Users\Dear冯\Desktop\1.txt"
# encoding,ignore可以省略
f = open(path, 'r', encoding='utf-8', errors='ignore')
# 读取所有行返回列表
list1 = f.readlines()
print(list1)
# 3.关闭文件
f.close()
代码示例图:
此时此刻,我们可以对列表类型的数据进行操作,比如说 遍历等
5.改变描述符的位置,可以再次读取
# 1.打开文件
path = r"C:\Users\Dear冯\Desktop\1.txt"
# encoding,ignore可以省略
f = open(path, 'r', encoding='utf-8', errors='ignore')
str1 = f.read()
print(str1)
f.seek(0)
# 更改描述符的位置 可以再次读取
str2 = f.read()
print(str2)
# 3.关闭文件
f.close()
代码示例图如下:
两种比较简洁的读取文件方式:
1.
try:
f = open(path, 'r', encoding='utf-8', errors='ignore')
print(f.read())
finally:
if f:
f.close()
2.
with方法会自动关闭文件
with open(path, 'r', encoding='utf-8', errors='ignore') as f2:
print(f2.read())