python实现目录和文件管理

目录

一:模块介绍:

二:目录创建

三:目录删除

四:目录复制

五:目录移动

六:文件创建

七:文件删除

八:文件读取


一:模块介绍:

Python的os和shutil模块提供了许多与操作系统交互的功能,包括文件和目录的创建、删除、移动等。

os模块提供了一系列与操作系统交互的函数,例如读取环境变量、改变当前工作目录、执行系统命令等。其中,os.path模块包含了一些用于处理文件路径的函数,例如os.path.exists()和os.path.isdir(),可以用来检查文件或目录是否存在。

shutil模块提供了一些高级的文件和目录操作,例如复制、删除、移动等。其中,shutil.rmtree()函数可以用来删除一个目录及其下的所有文件和子目录。

二:目录创建

import os  
import shutil

dir_path = "test/sub1"  # 替换为你的目录路径  

#这个首先检查目录是否存在,不存在创建目录
if os.path.isdir(dir_path):  
    print("目录存在")  
else:  
    os.makedirs('test/sub1')

三:目录删除

try:  
    shutil.rmtree(dir_path)  
    print("目录已删除")  
except OSError as e:  
    print("删除目录时出错: ", e.strerror)

四:目录复制

import shutil  
  
def copy_dir(src, dst):  
    try:  
        shutil.copytree(src, dst)  
        print(f"Directory copied from {src} to {dst}")  
    except Exception as e:  
        print(f"Error occurred: {e}")  
  
# 使用方法:copy_dir('源目录', '目标目录')
注意,shutil.copytree()函数会复制源目录及其所有子目录和文件到目标目录。如果目标目录已经存在同名文件或目录,那么会引发FileExistsError。如果你想在目标目录中覆盖同名文件或目录,你可以在调用copytree()时设置ignore或replace参数。

五:目录移动


import shutil  
  
def copy_dir(src, dst):  
    try:  
        shutil.copytree(src, dst)  
        print(f"Directory copied from {src} to {dst}")  
    except Exception as e:  
        print(f"Error occurred: {e}")  
  
# 使用方法:copy_dir('源目录', '目标目录')

shutil.move()函数会将源文件或目录移动到目标位置。如果目标位置已经存在同名文件或目录,那么会覆盖它。如果你想在移动时避免覆盖目标位置的同名文件或目录,你可以在调用move()时设置ignore_errors参数。

六:文件创建

file_path = "test/sub1/file.txt"  # 替换为你的文件路径  


 #这个首先检查文件是否存在,不存在创建目录写入数据
if os.path.exists(file_path):  
    print("文件存在")  
else:  
    with open(file_path, "w") as file:  
        file.write("Hello, World!")

七:文件删除

try:  
    os.remove(file_path)  
    print("文件已删除")  
except OSError as e:  
    print("删除文件时出错: ", e.strerror)

八:文件读取

with open(file_path, 'r') as f:  
        lines = f.readlines()  
        for line in lines:  
            print(line)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/302967.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《2024 AIGC 应用层十大趋势白皮书》:近屿智能OJAC带您一起探索AI未来

Look!👀我们的大模型商业化落地产品📖更多AI资讯请👉🏾关注Free三天集训营助教在线为您火热答疑👩🏼‍🏫 近日国际知名咨询机构IDC发布《2024 AIGC 应用层十大趋势白皮书》的发布&am…

熟悉HBase常用操作

1. 用Hadoop提供的HBase Shell命令完成以下任务 (1)列出HBase所有表的相关信息,如表名、创建时间等。 启动HBase: cd /usr/local/hbase bin/start-hbase.sh bin/hbase shell列出HBase所有表的信息: hbase(main):001:0> list(2)在终端输出指定表的所有记录数据。 …

音频文件元数据:批量修改技巧,视频剪辑高效修改元数据的方法

随着数字媒体技术的快速发展,音频文件已成为日常生活中的重要组成部分。无论是音乐、语音还是其他音频内容,元数据都是描述这些文件的重要信息。下面来看下云炫AI智剪如何批量修改音频文件元数据,在视频剪辑中高效修改元数据的方法。 下面来看…

阿里开源AnyText:可在图像中生成任意精准文本,支持中文!

‍随着Midjourney、Stable Difusion等产品的出现,文生图像领域获得了巨大突破。但是想在图像中生成/嵌入精准的文本却比较困难。 经常会出现模糊、莫名其妙或错误的文本,尤其是对中文支持非常差,例如,生成一张印有“2024龙年吉祥…

校招社招,认知能力测验,③如何破解语言常识类测试题?

作为认知能力测评中的一个环节,语言常识类,是大概率的出现,不同的用人单位可能略有不同,语言是一切的基础,而常识则意味着我们的知识面的宽度。 语言常识类的测试,如果要说技巧?难说....更多的…

IPv6路由协议---IPv6动态路由(RIPng)

IPv6动态路由协议 动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。 路由表和FIB表 路由器转发数据包的关键是路由表和FIB表,每…

AI变现项目:刚做五天收益突破单日破50+,干货经验谈

今日是我单号操作的第五天。 打开今日头条,发现收益破新高了。 我这是一个号操作,10个号,20个号呢? 下面主要说说我的操作经验。 先确定领域 我是做的情感故事领域。 为什么做这个领域?(简单,原创度高…

计算机视觉技术-语义分割

讨论的目标检测问题中,我们一直使用方形边界框来标注和预测图像中的目标。 本节将探讨语义分割(semantic segmentation)问题,它重点关注于如何将图像分割成属于不同语义类别的区域。 与目标检测不同,语义分割可以识别并…

AUTOSAR开发文档

目录 目录 状态机电源管理开发... I 文档... I 1. 综述... 1 2. 系统硬件架构图... 1 3. 状态机设计方案... 2 4. 电源管理方案... 4 综述 本文档主要描述了MCU芯片TC297的AUTOSAR方案。MCU的基础软件由AUTOSAR软件实现&#xff0…

基于JAVA+SpringBoot的咖啡商城

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着互联网的普及和发…

电子学会2023年12月青少年软件编程(图形化)等级考试试卷(一级)真题,含答案解析

青少年软件编程(图形化)等级考试试卷(一级) 分数:100 题数:37 一、单选题(共25题,共50分) 1. 观察下列每个圆形中的四个数,找出规律,在括号里填上适当的数?( )

P1262 间谍网络

1、思路 阅读题目,发现有些间谍可以是被前面的点更新,也就是说,在一开始的时候,把能贿赂的人员从小到达排个序,再使用bfs算法,把他们能到达的人员的贿赂价钱设置为0。 有解的情况: 首先如果有…

QT DAY1作业

1.QQ登录界面 头文件代码 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include <QIcon> #include <QLabel> #include <QPushButton> #include <QMovie> #include <QLineEdit>class MyWidget : public QWidget {Q_OBJECTpu…

SQL必知必会笔记(9~12章)

第九章 汇总数据 1、聚集函数用来进行记录数据的加工&#xff0c;然后再进行返回。 2、SQL的聚集函数&#xff1a; 函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值之和 3、AVG()函数 A…

2道经典的C语言练习题(解答超详细)

文章目录 每日一言12结语⭐如果发现自己做错了&#xff0c;请不要气馁&#xff0c;做题就是一个查漏补缺的过程。每个人不是天生就会写代码的&#xff0c;给自己一些时间&#xff0c;不要放弃&#xff0c;加油陌生人&#xff01; 每日一言 当你关注到自己行为背后的意图时&…

其他出库单保存时仓库无可用量无法保存

文章目录 其他出库单保存时仓库无可用量无法保存报错界面方案设计解决方案 其他出库单保存时仓库无可用量无法保存 报错界面 方案设计 保存不校验可用量&#xff0c;审核不允许超额。 解决方案 或者直接取消

电商API-获取拼多多商品详情数据精准价格API测试示例

pinduoduo.item_get_app_pro获取拼多多商品详情数据 如何获取apikey&#xff1f; 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff…

jenkins通过流水线自动部署项目(k8s部署)

参考&#xff1a;https://www.cnblogs.com/rb2010/p/16195443.html docker 拉取镜像到本地&#xff1a; docker pull docker.io/jenkins/jenkins:2.164配置卷挂载&#xff1a;使用nfs 参考&#xff1a;https://www.kuboard.cn/learning/k8s-intermediate/persistent/nfs.htm…

Spring见解4 基于注解的AOP配置

5.基于注解的AOP配置 5.1.创建工程 5.1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

Java学习苦旅(二十五)——哈希表

本篇博客将详细讲解哈希表。 文章目录 哈希表概念冲突概念避免冲突哈希函数设计常见哈希函数 负载因子调节解决冲突闭散列开散列&#xff08;哈希桶&#xff09; 和java类集的关系 结尾 哈希表 概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关…