当前位置:   article > 正文

Python文件操作详细介绍(打开、读取、写入、上下文管理器、关闭、异常处理;文件模式、编码、路径、读写位置、复制、移动、删除)

python文件操作

目录

一、基础操作

1. 打开文件

2. 读取文件

3. 写入文件

4. 上下文管理器

5. 关闭文件

6. 异常处理

二、进阶操作

6. 文件模式

 7. 文件的编码处理

8. 文件路径操作

9. 文件的读写位置

10. 迭代文件内容

11. 文件的复制、移动、删除


一、基础操作

1. 打开文件

        使用内置函数open()可以打开一个文件,并返回一个文件对象。你需要提供文件的路径以及打开模式(读取、写入、追加等)。

file = open('file.txt', 'r')  # 以只读模式打开名为file.txt的文件

2. 读取文件

        文件对象提供了多个用于读取文件内容的方法,常用的有:

  1. content = file.read() # 读取整个文件内容
  2. line = file.readline() # 读取文件的一行内容
  3. lines = file.readlines() # 读取文件的所有行内容并返回列表
  • read(): 读取整个文件的内容为一个字符串。
  • readline(): 逐行读取文件内容,每次读取一行。
  • readlines(): 将文件内容按行读取,并返回一个包含每行内容的列表。

3. 写入文件

        使用文件对象的write()方法可以将数据写入文件。你可以将字符串或者字节流作为参数传递给write()方法。

  1. file = open('file.txt', 'w') # 以写入模式打开文件
  2. file.write('Hello, World!') # 写入字符串到文件

4. 上下文管理器

        在处理文件操作时,为了确保文件在使用后被正确关闭,你可以使用上下文管理器来自动管理文件的打开和关闭。使用with语句可以创建一个上下文管理器,并在代码块执行完毕后自动关闭文件,无需手动调用close()方法。

  1. with open('file.txt', 'r') as file:
  2. # 执行文件操作,文件会在代码块执行完毕后自动关闭

5. 关闭文件

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

file.close()  # 关闭文件

6. 异常处理

        在文件操作过程中,可能会出现一些异常情况,比如文件不存在、权限错误等。你可以使用异常处理语句来捕获并处理这些异常情况。

  1. try:
  2. file = open('file.txt', 'r')
  3. # 执行文件操作
  4. except FileNotFoundError:
  5. print("文件不存在")
  6. except PermissionError:
  7. print("没有文件访问权限")
  8. finally:
  9. file.close() # 确保文件被关闭

二、进阶操作

6. 文件模式

        在打开文件时,你需要指定文件的模式,可以将模式与打开的文件路径一起传递给open()函数,如open('file.txt', 'r')。常见的文件模式包括:

  • 'r':只读模式(默认)。打开文件后,只能读取文件内容,不能进行写入操作。
  • 'w':写入模式。如果文件存在,会先清空文件内容,然后写入新的内容;如果文件不存在,会创建一个新的文件。
  • 'a':追加模式。在文件末尾追加新的内容,不会清空原有内容;如果文件不存在,会创建一个新的文件。
  • 'x':独占创建模式。创建新文件,如果文件已存在,则打开失败。
  • 'b':二进制模式。以二进制格式读取或写入文件,如读取图片或视频文件。
  • 't':文本模式(默认)。以文本格式读取或写入文件,如读取或写入字符串。

 7. 文件的编码处理

        在处理文本文件时,需要考虑文件的编码格式。Python提供了多种编码处理方式,常见的有:

  • ascii:ASCII编码,适用于英文文本。
  • utf-8:UTF-8编码,适用于多种语言的文本。
  • latin-1:Latin-1编码,适用于西欧语言的文本。

在打开文件时,你可以指定文件的编码格式。

  1. with open('file.txt', 'r', encoding='utf-8') as file:
  2. # 处理文件内容

8. 文件路径操作

        在文件操作中,你经常需要处理文件路径和文件名。Python提供了os模块和os.path模块来进行文件路径操作。你可以使用这些模块来获取文件的绝对路径、检查文件是否存在、创建目录等。

  1. import os
  2. file_path = 'path/to/file.txt'
  3. abs_path = os.path.abspath(file_path) # 获取文件的绝对路径
  4. file_exists = os.path.exists(file_path) # 检查文件是否存在
  5. dir_name = os.path.dirname(file_path) # 获取文件所在目录的路径
  6. os.makedirs('path/to/new_dir') # 创建目录

9. 文件的读写位置

        文件对象维护了一个读写位置指针,指示下一次读取或写入操作的位置。在读取文件内容时,指针会随着读取的字节数向后移动;在写入文件内容时,指针会在写入后移动到新的位置。你可以使用文件对象的seek()方法来改变指针的位置,以便读取或写入特定位置的数据。例如:

  1. with open('file.txt', 'r') as file:
  2. file.seek(10) # 将指针移动到文件的第10个字节处
  3. data = file.read() # 从第10个字节开始读取文件内容

10. 迭代文件内容

        文件对象可以像迭代器一样被迭代,逐行读取文件内容。这在处理大型文件时非常有用,因为不需要一次性将整个文件读入内存。

  1. with open('file.txt', 'r') as file:
  2. for line in file:
  3. # 处理每一行内容

11. 文件的复制、移动、删除

        在文件操作中,你可能需要将文件复制到另一个位置或移动文件到不同的目录。Python提供了shutil模块来处理文件的复制、移动和删除等操作。

  1. import shutil
  2. # 复制文件
  3. shutil.copy('source.txt', 'destination.txt')
  4. # 移动文件
  5. shutil.move('file.txt', 'new_dir/file.txt')
  6. # 删除文件
  7. os.remove('file.txt')

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/550681
推荐阅读
相关标签
  

闽ICP备14008679号