Python--文件读写

Python 中的文件读写是编程中的一项基础且重要的操作。Python 提供了内置的 open() 函数来打开一个文件,并且该文件对象提供了多种方法来读取和写入文件。以下是文件读写的几个基本步骤和示例。

打开文件

使用 open() 函数来打开一个文件,并返回一个文件对象。open() 函数的基本语法如下:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • file:必需,文件路径(相对或者绝对路径)。
  • mode:可选,文件打开模式
    • 'r':只读模式(默认)。
    • 'w':只写模式,如果文件已存在则覆盖,如果文件不存在则创建。
    • 'x':创建写模式,如果文件已存在则失败。
    • 'a':追加模式,如果文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果文件不存在,创建新文件进行写入。
    • 'b':二进制模式(可与其他模式组合使用,如 ‘rb’ 或 ‘wb+’)。
    • '+':更新(可读可写)模式(可与其他模式组合使用,如 ‘r+’ 或 ‘w+’)。
  • encoding:可选,用于指定文件的编码,默认是系统默认编码,如 ‘utf-8’。

读取文件

打开文件后,可以使用文件对象的方法来读取文件内容。常用的读取方法包括:

  • read(size=-1):读取文件内容。如果指定了 size 参数,则读取 size 个字符。
  • readline(size=-1):读取文件中的一行。
  • readlines(hint=-1):读取所有行并返回列表,若指定了 hint,则读取指定数量的字节,并尝试以行结束符分割。

写入文件

打开文件时指定写模式(如 ‘w’、‘a’、‘w+’ 等),然后可以使用文件对象的方法来写入文件内容。常用的写入方法包括:

  • write(s):将字符串 s 写入文件。
  • writelines(lines):向文件写入一个序列的字符串。序列的每个元素后面不会自动添加换行符,因此需要在字符串末尾添加换行符,除非文件是以二进制模式打开的且需要写入的是行结束符。

示例

读取文件
with open('example.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)
写入文件
with open('example.txt', 'w', encoding='utf-8') as file:
    file.write("Hello, World!")
追加文件
with open('example.txt', 'a', encoding='utf-8') as file:
    file.write("\nHello again!")

注意事项

  • 使用 with 语句来打开文件是一种好习惯,因为它会确保文件在使用后正确关闭,即使在读写文件时发生异常也是如此。
  • 在打开文件时,特别是在写模式下,请确保你了解文件操作的模式,以避免不必要的数据丢失。
  • 当处理非文本文件(如图片、视频等)时,应使用二进制模式(‘b’)。

相关推荐

  1. python文件

    2024-07-18 18:48:04       37 阅读
  2. Python文件

    2024-07-18 18:48:04       33 阅读
  3. Python 文件

    2024-07-18 18:48:04       22 阅读
  4. Python--文件

    2024-07-18 18:48:04       23 阅读
  5. python-文本数据

    2024-07-18 18:48:04       31 阅读
  6. python-ConfigParser-配置文件

    2024-07-18 18:48:04       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 18:48:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 18:48:04       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 18:48:04       58 阅读
  4. Python语言-面向对象

    2024-07-18 18:48:04       69 阅读

热门阅读

  1. 【人工智能】生成式AI的未来发展方向探讨

    2024-07-18 18:48:04       21 阅读
  2. C语言 goto语句

    2024-07-18 18:48:04       19 阅读
  3. llama-cpp-python

    2024-07-18 18:48:04       21 阅读
  4. sqlalchemy定期保持mysql连接活跃

    2024-07-18 18:48:04       19 阅读
  5. 如何处理客户暗战

    2024-07-18 18:48:04       19 阅读
  6. 数据库:SQL 函数有哪些?

    2024-07-18 18:48:04       25 阅读
  7. C++中const修饰指针的范围

    2024-07-18 18:48:04       19 阅读