当前位置:   article > 正文

python 之文件操作函数详解_python中文件操作的相关函数有哪些

python中文件操作的相关函数有哪些

        Python中存在很多常用文件操作内置函数:open()、read()、write()、tell()、seek()、close()等,本文章主要对上述常用函数的使用进行详细说明及代码示例展示。

1.文件的打开操作

        在python中使用内置函数open()来打开文件,并返回一个文件对象。其中打开文件时,open()函数提供了不同的打开方式(即文件模式)来指定文件的读写方式。

        以下是一些常用的文件打开方式。

 1.1 只读模式

                'r':以文本模式打开文件进行只读操作。

                'rb':以二进制模式打开文件进行只读操作。

  1. file = open("filename.txt", "r")  # 以只读模式打开文本文件
  2. file = open("filename.bin", "rb")  # 以只读模式打开二进制文件

 1.2 写入模式

        'w':以文本模式打开文件进行写入操作。如果文件不存在,则创建新文件。如果文件已存在,则会清空文件内容。

        'wb':以二进制模式打开文件进行写入操作。

  1. file = open("filename.txt", "w")  # 以写入模式打开文本文件
  2. file = open("filename.bin", "wb")  # 以写入模式打开二进制文件

1.3 追加模式

        'a':以文本模式打开文件进行追加操作。如果文件不存在,则创建新文件。

        'ab':以二进制模式打开文件进行追加操作。

  1. file = open("filename.txt", "a")  # 以追加模式打开文本文件
  2. file = open("filename.bin", "ab")  # 以追加模式打开二进制文件

1.4 读写模式

        'r+':以文本模式打开文件进行读写操作。

        'rb+':以二进制模式打开文件进行读写操作。

  1. file = open("filename.txt", "r+")  # 以读写模式打开文本文件
  2. file = open("filename.bin", "rb+")  # 以读写模式打开二进制文件

        在打开文件后,记得使用close()方法来关闭文件。

        另外,还有一种更推荐的方式是使用with语句来自动管理文件的打开和关闭,这样可以更安全和方便地处理文件操作。

  1. with open("filename.txt", "r") as file:
  2. content = file.read() # 在这里进行文件操作
  3. print(content)
  4. # 文件会在这里自动关闭,无需手动调用close()

         使用with语句可以确保在文件操作完成后,无论是否发生异常,文件都会被正确关闭。

2.读取文件

        使用文件对象的read()、readline()或readlines()方法来读取文件内容。

        content = file.read(size)

        size(可选):表示要读取的最大字节数。如果省略该参数,或者指定为负数或零,则read()函数会尝试一次性读取整个文件内容。readline()或readlines()参数同理

        示例:

  1. content = file.read()  # 读取整个文件内容
  2. content = file.read(10)  # 读取10个字节
  3. line = file.readline()  # 读取一行内容
  4. lines = file.readlines()  # 读取所有行并返回一个列表

        需要注意的是,read()函数返回的是一个字符串(或字节串,如果以二进制模式打开文件的话),其中包含了所读取的内容。如果读取到文件末尾,read()函数会返回一个空字符串(或空字节串)。因此,你可以使用条件语句来检查是否读取到了文件末尾。

        #在下面示例中,如果读取到内容,则打印内容;否则,打印"End of file"。

  1. file = open("filename.txt", "r")
  2. content = file.read(10)
  3. if content:
  4. print(content)
  5. else:
  6. print("End of file")
  7. file.close()

3.写入文件

        使用文件对象的write()方法来写内容到文件中。

        在 Python 中,文件对象的 write 操作默认会立即写入文件,而不会像 C 语言中那样缓冲数据。因此,不需要显式调用类似于C语言中的 fflush 的函数来刷新文件缓冲区。

     file.write("Hello, World!")  # 写入内容到文件,且立马写入

4. 关闭文件:

        在完成文件操作后,记得使用文件对象的close()方法关闭文件。

file.close()  # 关闭文件

5.控制文件的读写位置

        使用tell()和seek()方法来控制文件的读写位置。

5.1 tell()函数介绍

        tell()方法用于返回文件当前的读写位置,以字节为单位。它可以告诉你文件指针当前所在的位置。

  1. file = open("filename.txt", "r")
  2. position = file.tell()  # 获取当前的读写位置
  3. print("Current position:", position)
  4. file.close()

5.2 seek()函数介绍 

        seek()方法用于将文件的读写位置移动到指定的位置。它接受两个参数:offset表示偏移量,whence表示参考位置。whence参数可选,默认为0,表示从文件开头计算位置;1表示从当前位置计算位置;2表示从文件末尾计算位置。

  1. file = open("filename.txt", "r")
  2. file.seek(5)  # 将读写位置移动到第 5 个字节处
  3. content = file.read()  # 从第 5 个字节处开始读取文件内容
  4. print(content)
  5. file.close()

        在上述示例中,我们首先使用tell()方法获取了当前的读写位置,然后使用seek()方法将读写位置移动到第5个字节处,然后使用read()方法读取从第5个字节处开始的文件内容。

        tell()和seek()函数对于在文件中定位和处理特定位置的数据非常有用。可以根据需要使用seek()方法来移动读写位置,并使用tell()方法获取当前的读写位置。这样就可以在文件中进行灵活的读写操作。

6.其他模块文件操作函数

        除了上述基本的文件操作函数外,还有其他一些常用的文件操作函数和模块,如下所示:

 6.1 os模块

        os 模块:提供了许多文件和目录操作的功能,例如创建目录、删除文件等。

  1. import os
  2. os.mkdir("directory")  # 创建目录
  3. os.remove("filename.txt")  # 删除文件

 6.2 shutil 模块

        shutil 模块:提供了高级的文件操作功能,例如移动文件、复制文件等。

  1. import shutil
  2. shutil.move("sourcefile.txt", "destination/")  # 移动文件
  3. shutil.copy("sourcefile.txt", "destination/")  # 复制文件

 6.3 os.path 模块

        os.path 模块:提供了一些关于路径操作的函数,例如获取文件名、获取文件扩展名等。

  1. import os.path
  2. filename = os.path.basename("path/to/filename.txt")  # 获取文件名
  3. extension = os.path.splitext("filename.txt")[1]  # 获取文件扩展名

        总结,以上是对常用文件操作函数的使用介绍及代码示例。通过以上函数可以完成大部分的文件操作的相关内容开发工作。

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

闽ICP备14008679号