【Python】揭秘 open() 函数:文件不存在时不自动创建

基本原理

在 Python 中,open() 函数是用来打开一个文件的。这个函数的基本语法如下:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

其中,file 是要打开的文件名,mode 是一个字符串,用来指定打开文件的模式。常见的模式有:

  • 'r':默认模式,用于读取文件。
  • 'w':写入模式,如果文件存在,则覆盖文件内容;如果文件不存在,会抛出 FileNotFoundError
  • 'a':追加模式,如果文件存在,则在文件末尾追加内容;如果文件不存在,会创建新文件。
  • 代码示例

    示例 1:尝试以写入模式打开一个不存在的文件
    # 尝试打开一个不存在的文件进行写入
    try:
        with open('non_existent_file.txt', 'w') as file:
            file.write('Hello, World!')
    except FileNotFoundError:
        print("文件不存在,无法写入。")
    
    示例 2:以读取模式打开一个不存在的文件
    # 尝试读取一个不存在的文件
    try:
        with open('non_existent_file.txt', 'r') as file:
            content = file.read()
            print(content)
    except FileNotFoundError:
        print("文件不存在,无法读取。")
    
    示例 3:以追加模式打开一个不存在的文件
    # 尝试在追加模式下打开文件,如果文件不存在则创建
    try:
        with open('new_file.txt', 'a') as file:
            file.write('Hello, World!')
    except Exception as e:
        print(f"发生错误:{e}")
    

    注意事项

  • 使用 open() 函数时,需要特别注意文件模式的选择。错误的模式选择可能会导致文件内容被意外覆盖或删除。
  • 在进行文件操作时,推荐使用 with 语句,这样可以确保文件在操作完成后正确关闭,即使在读写过程中发生异常也能正确关闭文件。
  • 处理文件操作时的异常是非常重要的,这可以避免程序因未捕获的异常而崩溃。
  • 结论

    open() 函数在 Python 中是一个非常基础且强大的工具,用于文件的读写操作。正确理解并使用不同的模式对于文件操作的成功至关重要。在文件不存在时,open() 函数的行为取决于所使用的模式:写入模式会抛出错误,而追加模式则会创建新文件。通过合理地使用异常处理,我们可以确保程序的健壮性和稳定性。

    >
    > 【痕迹】QQ+微信朋友圈和聊天记录分析工具1.0.4 (1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。
    >
    > (2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。
    >
    > (3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。
    >
    > 下载地址:https://www.alipan.com/s/x6fqXe1jVg1
    >

    作者:civilpy

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python】揭秘 open() 函数:文件不存在时不自动创建

    发表回复