自学内容网 自学内容网

Python基础教程:文件操作

打开文件

要打开一个文件,可以使用open()函数。open()函数的基本语法如下:

file_object = open(file_name, mode)
  • file_name: 文件的路径和名称。

  • mode: 文件的打开模式,指定文件的访问类型(读、写、追加等)。

常见的文件打开模式
  • 'r': 只读模式(默认)。如果文件不存在,会抛出FileNotFoundError

  • 'w': 写入模式。如果文件存在,会清空文件内容;如果文件不存在,会创建新文件。

  • 'a': 追加模式。如果文件存在,会在文件末尾追加内容;如果文件不存在,会创建新文件。

  • 'x': 独占创建模式。如果文件已存在,会抛出FileExistsError;如果文件不存在,会创建新文件。

  • 'b': 二进制模式。可以与其他模式组合使用,如'rb''wb'等。

  • 't': 文本模式(默认)。可以与其他模式组合使用,如'rt''wt'等。

读取文件

在读取文件时,可以使用以下方法:

  • read(): 读取整个文件内容,返回一个字符串。

  • readline(): 读取文件的一行内容,返回一个字符串。

  • readlines(): 读取文件的所有行,返回一个包含每行内容的列表。

示例
# 打开文件
file = open('example.txt', 'r')

# 读取整个文件内容
content = file.read()
print(content)

# 读取一行内容
file.seek(0)  # 将文件指针移回文件开头
line = file.readline()
print(line)

# 读取所有行
file.seek(0)  # 将文件指针移回文件开头
lines = file.readlines()
print(lines)

# 关闭文件
file.close()

写入文件

在写入文件时,可以使用以下方法:

  • write(string): 将字符串写入文件。

  • writelines(list_of_strings): 将字符串列表写入文件,每个字符串占一行。

示例
 

# 打开文件(写入模式) file = open('example.txt', 'w') # 写入内容 file.write('Hello, World!\n') file.write('This is a new line.\n') # 写入多行内容 lines = ['Line 1\n', 'Line 2\n', 'Line 3\n'] file.writelines(lines) # 关闭文件 file.close()

追加文件

在追加文件时,可以使用追加模式'a'

示例
# 打开文件(写入模式)
file = open('example.txt', 'w')

# 写入内容
file.write('Hello, World!\n')
file.write('This is a new line.\n')

# 写入多行内容
lines = ['Line 1\n', 'Line 2\n', 'Line 3\n']
file.writelines(lines)

# 关闭文件
file.close()

关闭文件

在文件操作完成后,应该使用close()方法关闭文件,以释放系统资源。

file.close()

使用 with 语句

为了避免忘记关闭文件,可以使用with语句。with语句会自动管理文件的打开和关闭,即使在操作过程中发生异常,文件也会被正确关闭。

示例
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

# 文件在离开 with 代码块时自动关闭

文件操作的异常处理

在文件操作中,可能会遇到各种异常,如文件不存在、权限不足等。可以使用try-except语句来处理这些异常。

示例
try:
    with open('nonexistent_file.txt', 'r') as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("File not found.")
except PermissionError:
    print("Permission denied.")


原文地址:https://blog.csdn.net/qq_52328493/article/details/143746938

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!