Appearance
文件操作
- 对文件的操作包括:打开、读取、写入、关闭等。
打开文件
- 使用
open()函数打开文件,返回一个文件对象。
python
f = open('test.txt', 'r')- 完整格式
open(file, mode='r', buffering=-1, encoding='utf-8') - 参数说明
file:要打开的文件路径。mode:打开文件的模式,默认值为'r',表示只读模式。encoding:指定文件的编码方式,默认值为'utf-8',表示使用 UTF-8 编码方式。buffering:指定文件的缓冲策略,默认值为-1,表示使用系统默认的缓冲策略。
- mode 说明
'r':read只读模式,文件指针指向文件开头。'w':write写入模式,文件指针指向文件开头。如果文件不存在,则创建文件;如果文件存在,则清空文件内容。'a':append追加模式,文件指针指向文件末尾。如果文件不存在,则创建文件;如果文件存在,则在文件末尾追加内容。'r+':读写模式,文件指针指向文件开头。文件存在时,文件内容可以被读取和修改;文件不存在时,抛出FileNotFoundError异常。'w+':读写模式,文件指针指向文件开头。文件存在时,文件内容可以被读取和修改;文件不存在时,创建文件。'a+':读写模式,文件指针指向文件末尾。文件存在时,文件内容可以被读取和修改;文件不存在时,创建文件。
读取文件
- 使用
read()方法读取文件内容。 - 读取文件时,需要指定读取的字符数。
- 如果不指定字符数,则读取整个文件内容。
python
# 获取文件所有内容,返回的是字符串
content1 = f.read()
# 获取文件所有内容,返回的是列表
content2 = f.readlines()
# 获取文件一行内容,返回的第一行,并且移动文件指针到下一行
content3 = f.readline() # 读取第一行,并且移动文件指针到下一行
content4 = f.readline() # 读取第二行,并且移动文件指针到下一行
content5 = f.readline() # 读取第三行,并且移动文件指针到下一行写入文件
使用 write() 方法写入文件内容。
python
f.write('hello world')
# 文件复制示例
with open('./a.txt', 'r', encoding = "utf-8") as f1, open("./b.txt", "w", encoding = "utf-8") as f2:
for line in f1:
line = line.strip()
if line.startswith("张"):
line = line.replace("张", "王")
f2.write(line + "\n")文件定位
- 使用
tell()方法获取文件指针的位置。 - 使用
seek()方法定位文件指针的位置。 seek(offset, whence)方法的参数说明offset:文件指针的偏移量。whence:文件指针的参考位置,默认值为0,表示文件开头。whence可选值0:文件开头。1:文件当前位置。2:文件末尾。
python
f.seek(0) # 定位文件指针到文件开头
f.seek(10) # 定位文件指针到第10个字符
f.seek(0, 2) # 定位文件指针到文件末尾关闭文件
- 使用
close()方法关闭文件。 - 使用
with语句打开文件,会自动关闭文件。
python
# 手动关闭文件
f.close()
# with 会自动关闭文件
with open('test.txt', 'w') as f:
f.write('hello world')删除文件
使用 os.remove() 方法删除文件。
python
import os
os.remove('test.txt')文件重命名
使用 os.rename() 方法重命名文件。
python
import os
os.rename('test.txt', 'test1.txt')