python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python文件操作基础

Python文件操作基础及异常处理

作者:咱家阿星

这篇文章主要介绍了文件操作的基本方法,包括如何打开和关闭文件、使用with语句管理文件、读取和写入文件内容、处理文件异常、进行二进制文件操作以及文件路径的说明,,需要的朋友可以参考下

在这篇将详细介绍如何打开文件读写文件,以及如何处理文件操作中的异常

1. 打开文件:open()

open() 函数用于打开文件,并返回一个文件对象,你可以通过这个对象操作文件内容。打开文件时,需要指定文件路径和操作模式。

语法:

file_object = open(file_path, mode)

常见操作模式:

模式描述
'r'读取文件(默认模式),文件必须存在。
'w'写入文件,如果文件存在则清空内容;如果文件不存在则创建。
'a'追加模式,将新内容添加到文件末尾。
'b'二进制模式,用于操作非文本文件(如图片、音频)。
'rb'以二进制模式读取文件。
'wb'以二进制模式写入文件。

示例:打开文件用于读取:

file = open('example.txt', 'r')  # 打开文件用于读取
print(file.read())               # 打印文件内容
file.close()                     # 关闭文件

注意:如果忘记关闭文件,可能会占用系统资源或导致数据未及时写入磁盘。

2. 使用 with 语句自动管理文件

使用 with 语句打开文件时,Python 会在代码块结束后自动关闭文件,避免忘记调用 close()

读取文件内容:

with open('example.txt', 'r') as file:
    content = file.read()  # 读取整个文件内容
    print(content)  # 打印文件内容

写入文件内容:

with open('example.txt', 'w') as file:
    file.write('Hello, Python!\n')  # 写入一行文本

追加内容:

with open('example.txt', 'a') as file:
    file.write('This is a new line.\n')  # 在文件末尾追加一行

3. 读取文件的不同方式

Python 提供了多种读取文件内容的方式,适用于不同的场景。

方法描述示例
read()读取整个文件内容为字符串content = file.read()
readline()读取文件的一行内容line = file.readline()
readlines()读取所有行并返回列表lines = file.readlines()

示例:逐行读取文件:

示例1

with open('example.txt', 'r') as file:
    for line in file:
        print(line.strip())  # 去除换行符并打印每一行

示例2

with open('example.txt', 'r') as file:
    while True:
        line = file.readline()  # 读取一行
        if not line:  # 如果是空字符串,说明文件结束
            break
        print(line.strip())  # 打印当前行内容

小提示: 如果是在某系统使用 ~/xxx.txt情况 , ~ 符号(代表用户的主目录)通常不会直接在文件路径中被识别, 通过下面的方案改进

import os
path = os.path.expanduser("~/xxx.txt")
with open(path, 'r') as file:
    ......

4. 文件异常处理

文件操作中可能会遇到错误,例如文件不存在或没有权限。我们可以使用 try-except 语句来捕获这些异常,避免程序崩溃。

常见异常:

示例:捕获文件异常:

try:
    with open('nonexistent.txt', 'r') as file:
        content = file.read()
        print(content)
except FileNotFoundError:
    print("错误:文件不存在。请检查路径。")
except PermissionError:
    print("错误:没有权限读取该文件。")
except Exception as e:
    print(f"发生了其他错误:{e}")

5. 二进制文件操作

对于非文本文件(如图片或音频),需要以二进制模式读取和写入。

示例:读取二进制文件:

with open('image.jpg', 'rb') as file:
    data = file.read()
    print(data[:10])  # 打印前10个字节的数据

示例:写入二进制文件:

with open('copy.jpg', 'wb') as file:
    with open('image.jpg', 'rb') as src:
        file.write(src.read())  # 复制图片

6. 文件路径说明

在 open() 中,文件路径可以是绝对路径相对路径

如果路径中有中文或空格,可以使用原始字符串r'')避免转义错误:

with open(r'C:\用户\文档\文件.txt', 'r') as file:
    print(file.read())

7. 总结

常见的文件操作步骤:

完整代码示例:

try:
    with open('example.txt', 'r') as file:
        print("文件内容:")
        print(file.read())
except FileNotFoundError:
    print("文件不存在,请检查路径。")
except PermissionError:
    print("没有权限访问该文件。")
except Exception as e:
    print(f"发生了未知错误:{e}")

8. 小贴士

到此这篇关于Python文件操作基础及异常处理的文章就介绍到这了,更多相关Python文件操作基础内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文