Python实用函数之OPEN文件操作函数

        在编程中,文件的操作是非常基础且重要的一环。当我们需要从外部源获取数据或保存数据时,文件通常是首选的存储介质。Python作为一种通用的高级编程语言,提供了对文件操作的内建支持,而open函数就是实现这一功能的关键。

    open函数允许我们与文件系统进行交互,打开文件以进行读取、写入或其他操作。它是Python标准库中的一部分,因此无需额外安装或配置即可使用。通过open函数,我们可以方便地处理文本文件、二进制文件等各种类型的文件。

open函数的实用性体现在多个方面:

  1. 数据持久化:使用open函数,我们可以将程序生成的数据或用户输入的数据保存到文件中,实现数据的持久化存储。这样,即使程序关闭或计算机重启,数据也不会丢失,可以在需要时重新加载。
  2. 数据交换:文件是数据交换的常见方式之一。通过open函数,我们可以读取其他程序或系统生成的文件,获取其中的数据并进行处理。同样,我们也可以将处理后的数据写入文件,供其他程序或系统使用。
  3. 文本处理:对于文本文件,open函数允许我们以不同的模式打开文件,如只读、写入、追加等。这使得我们可以轻松地读取文件内容、修改文件内容或向文件追加新的内容。这在处理日志文件、配置文件、文本数据等方面非常有用。
  4. 二进制处理:除了文本文件外,open函数还可以用于处理二进制文件,如图片、音频、视频等。通过指定适当的打开模式(如二进制模式),我们可以读取或写入二进制数据,实现图像的加载与保存、音频的播放与录制等功能。
  5. 文件锁定与安全性:在某些情况下,我们可能需要确保在文件被某个程序使用时,其他程序无法对其进行修改。通过open函数的锁定机制,我们可以实现文件的独占访问,确保数据的安全性和一致性。

 open函数的语法格式:

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

参数解释

  1. file
    • 类型str
    • 描述:这是必须提供的参数,表示要打开的文件的路径(相对或绝对路径)和文件名。
  2. mode
    • 类型str
    • 描述:指定文件打开模式。默认是 'r',表示只读模式。其他常用模式包括:
      • 'w':写入模式,如果文件存在则会被覆盖。
      • 'a':追加模式,写入的数据会被追加到文件的末尾。
      • 'r+':读写模式,文件指针会放在文件的开头。
      • 'w+':写读模式,如果文件存在则会被覆盖。
      • 'a+':追加读写模式,如果文件存在,文件指针会放在文件的末尾;否则创建新文件。
      • 'b':二进制模式,可以与以上模式结合使用,如 'rb' 或 'wb+'
  3. buffering
    • 类型int
    • 描述:设置缓冲策略。默认为 -1,表示使用默认的缓冲策略。设置为 0 表示无缓冲,直接读写文件;设置为大于 1 的整数表示使用指定大小的缓冲区。
  4. encoding
    • 类型str
    • 描述:指定用于读取或写入的字符编码。例如,'utf-8' 用于表示使用 UTF-8 编码。如果未指定,则使用系统默认编码。
  5. errors
    • 类型str
    • 描述:指定如何处理编码和解码错误。例如,'ignore' 会忽略错误,'replace' 会用问号 (?) 替换错误字符。默认为 'strict',表示遇到错误时引发异常。
  6. newline
    • 类型str
    • 描述:控制如何解释文件中的换行符。可以是 None'''\n''\r' 或 '\r\n'。这会影响文本模式下的读取和写入操作。
  7. closefd
    • 类型bool
    • 描述:如果文件描述符被传递,则此参数决定文件描述符是否应关闭。默认为 True
  8. opener
    • 类型callable
    • 描述:一个自定义的开启器,必须具有一个打开文件描述符的方法。这通常用于特殊的文件打开需求,如使用加密或压缩的文件系统。

简单案例:

# 打开文件  
with open('example.txt', 'r') as file:  
    # 读取文件内容  
    content = file.read()  
    # 打印文件内容  
    print(content)  
  
# 文件会在 with 语句块结束时自动关闭

拷贝案例:

        使用open函数以二进制的方式复制图片到/opt目录下

# 循环二进制方式读取图像的数据,每次读取4kb
# 以二进制的方式读取出来再进行写入到目标文件
# 源文件
a = open("1.jpg", "rb")  # 在相对路径进行读取
# 目标文件
b = open("/opt/1.jpg", "wb")
while True:  # 不确定读取多少个字节,所以用while循环
    c = a.read(4096)  # 每次读取4kb  1024*4
    if not c:  # 如果未读取到数据,也就是空,就退出循环
        break
    # print(c)    #打印读取到的数据
    b.write(c)  # 写入目标文件
# 关闭文件
a.close()
b.close()

  • 36
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python文件操作函数 `open()` 可以接受多个参数,常用的参数包括: - `file`: 要打开的文件名或文件路径,可以是相对路径或绝对路径。如果文件不存在,以读取模式打开会引发 `FileNotFoundError` 异常,以写入模式打开会自动创建文件。 - `mode`: 打开文件的模式,常用的模式包括: - `'r'`:读取模式。默认值,打开文件用于读取。 - `'w'`:写入模式。如果文件已经存在,则会清空文件内容;如果文件不存在,则会创建一个新文件。 - `'a'`:追加模式。如果文件已经存在,则在文件末尾追加新内容;如果文件不存在,则会创建一个新文件。 - `'x'`:独占创建模式。如果文件已经存在,则会引发 `FileExistsError` 异常;如果文件不存在,则会创建一个新文件。 - `encoding`: 文件的编码方式,默认值为 `None`,表示使用系统默认编码方式。常用的编码方式包括 `'utf-8'`、`'gbk'` 等。 - `buffering`: 文件缓冲设置,默认值为 `-1`,表示使用系统默认缓冲设置。常用的缓冲设置包括 `0`(无缓冲)、`1`(行缓冲)和正整数(缓冲区大小)。 - `newline`: 换行符设置,默认值为 `None`,表示使用系统默认换行符。常用的换行符包括 `'\n'`(Unix/Linux)、`'\r\n'`(Windows)和 `'\r'`(Mac OS)。 完整的 `open()` 函数的用法可以通过 Python 的内置帮助函数 `help(open)` 或者在 Python 交互式环境中输入 `open?` 查看。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天也要向前

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值