Python(18)--文件输入/输出 Ⅱ

发布时间:2024年01月21日

?开头

大家好!我是码银🥰
欢迎关注🥰:
CSDN:码银
公众号:码银学编程

前言

前一篇文章(python(17)–文件的输入/输出-CSDN博客)介绍了如何操作文本文件和二进制文件,以及对应文件的写入和读取。这篇文章继续学习文件的输入/输出操作😆。

正文

文件的删除

文件的删除可以使用os模块的remove()函数来删除文件,这样我们可以编写一个函数以此达到删除文件的作用,下面是一个示例代码:

import os

def delete_file(file_path):
    try:
        os.remove(file_path)
        print(f"文件 {file_path} 已被删除")
    except OSError as e:
        print(f"删除文件时出错: {e.strerror}")

delete_file("file.txt")

在这个示例中,delete_file函数接受一个文件路径作为参数,然后尝试删除该文件。如果文件成功被删除,它会打印一条消息说文件已被删除。如果删除文件时发生错误,它会捕获OSError异常并打印出错误消息。

文件的复制

关于文件的复制,我们就要用另一个库来实现了,shutil是Python的一个高级文件操作模块,它与os模块形成互补关系。os模块主要提供了文件或文件夹的新建、删除、查看等方法,以及对文件以及目录的路径操作。而shutil模块则提供了移动、复制、压缩、解压等操作,恰好与os模块形成互补,两者共同使用,基本能完成所有文件的操作。

import shutil

def copy_file(src, dst):
    try:
        shutil.copy(src, dst)
        print(f"文件 {src} 已成功拷贝到 {dst}")
    except Exception as e:
        print(f"拷贝文件时出错: {e}")

copy_file("filename.txt", "D://pyprogect//file.txt")

copy_file()函数中,第一个位置是原始文件,第二个文件是目标文件位置。然后,使用shutil.copy函数将源文件拷贝到目标路径。如果文件成功被拷贝,它会打印一条消息说文件已被成功拷贝。如果拷贝文件时发生错误,它会捕获异常并打印出错误消息。

文件的重命名

如果存在文件“filename.txt”就将其重新命名为"666.txt",另外还有三个异常判断语句,提高程序的健壮性。

import os  
  
if __name__ == "__main__":  
    try:  
        li = os.listdir(".")  # 判断当前目录  
        print(li)  
        if "filename.txt" in li:  
            os.rename("filename.txt", "666.txt")  
    except FileNotFoundError:  
        print("文件 'filename.txt' 不存在")  
    except PermissionError:  
        print("没有足够的权限执行此操作")  
    except Exception as e:  
        print(f"发生未知错误: {e}")

文件内容的查找

with open('filename.txt', 'r') as file:

    content = file.read()# 读取文件内容

count = content.count("hello")# 统计字符串 "hello" 出现的次数

print("字符串出现次数: {} 次".format(count))# 输出结果

次数截图
这里还有一版:
这段代码是用于从名为 “filename.txt” 的文件中查找字符串 “hello” 的出现次数。如果文件不存在或无法读取,它会打印相应的错误消息。如果发生其他错误,它也会捕获并打印错误消息。

import re

if __name__ == "__main__":
    try:
        with open("filename.txt", "r") as f:
            count = 0
            for s in f:
                matches = re.findall("hello", s)
                if matches:
                    count += len(matches)
            print(f"查找到 {count} 个 hello")
    except FileNotFoundError:
        print("文件不存在")
    except PermissionError:
        print("无法读取文件")
    except Exception as e:
        print(f"发生错误:{e}")

欢迎关注:
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_53197693/article/details/135581981
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。