python 之文件操作函数详解

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

1.文件的打开操作

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

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

 1.1 只读模式

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

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

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

 1.2 写入模式

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

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

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

1.3 追加模式

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

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

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

1.4 读写模式

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

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

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

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

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

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

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

2.读取文件

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

        content = file.read(size)

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

        示例:

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

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

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

file = open("filename.txt", "r")
content = file.read(10)
if content:
    print(content)
else:
    print("End of file")
file.close()

3.写入文件

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

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

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

4. 关闭文件:

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

file.close()  # 关闭文件

5.控制文件的读写位置

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

5.1 tell()函数介绍

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

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

5.2 seek()函数介绍 

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

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

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

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

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

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

 6.1 os模块

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

import os

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

 6.2 shutil 模块

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

import shutil

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

 6.3 os.path 模块

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

import os.path

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

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

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值