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.mzph.cn/news/608225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 Python 构建网页版年终海报模板

文章目录 前言创建 Flask 应用定义 Flask 路由主题HTML模板静态文件存放用户选择与海报生成优势和未来扩展 前言 在创建一个网页版年终海报模板的过程中,我们将使用 Python 的 Flask 作为后端 Web 框架,Jinja2 作为模板引擎,以及 HTML、CSS …

连接两个路由器的有线连法,关键时候可能会发挥不小的作用

路由器网桥连接两个或多个路由器,以扩展网络范围,提供额外的以太网端口和无线接入点。但在开始之前,你必须首先决定如何使用每个路由器。因此,你需要知道你想要实现什么,并清楚地了解你对每台设备的期望。 例如你想扩…

Javaweb之Mybatis的动态SQL的详细解析

3. Mybatis动态SQL 3.1 什么是动态SQL 在页面原型中,列表上方的条件是动态的,是可以不传递的,也可以只传递其中的1个或者2个或者全部。 而在我们刚才编写的SQL语句中,我们会看到,我们将三个条件直接写死了。 如果页面…

你的策略盈利能力怎么样?谈谈伦敦金的回测交易

建立了一个交易系统后,投资者如何测试其有效性呢?有的人会提出让投资者尝试着在实盘或者模拟交易中应用,这个方法是好,但花费的时间较长。有人会就建议,让投资者去做回测。回测是指投资者选定一段历史行情之后&#xf…

Linux 期末复习

Linux 期末复习 计算机历史 硬件基础 1,计算机硬件的五大部件:控制器、运算器、存储器、输入输出设备 2,cpu分为精简指令集(RISC)和复杂指令集(CISC) 3,硬件只认识0和1,最小单位是bit,最小存储单位是字…

React 类组件和函数组件

组件component 一.概念 Element VS Component (元素与组件) //不成文的约定:元素小写,组件大写 const divReact.createElement(div,...) 这是一个React元素(小写) const Div()>React.createElement(div,...) 这是一个React组件(大写) 什么是组件? 能跟其他…

FineBI实战项目一(8):每天每小时订单笔数

1 明确数据分析目标 统计每个小时产生的订单个数 2 创建用于保存数据分析结果的表 create table app_hour_orders(id int primary key auto_increment,daystr varchar(20),hourstr varchar(20),cnt int ); 3 编写SQL语句进行数据分析 selectsubstring(createTime,1,10) as …

如何向管理层制作出优秀的经营分析报告?

在数字化时代,企业不管规模大小,不管是哪个行业,都会有月度、季度、年度经营分析会议,有些是复盘性的,有些是决策性的,面对企业管理层,如何制作出让领导满意且有价值的经营分析报告?…

希尔顿花园酒店喜迎入华十周年里程碑

【2024年1月8日,中国,上海】作为希尔顿集团旗下标志性高端精选服务酒店品牌,希尔顿花园酒店于今年正式迎来其在华经营十周年的里程碑。自2014年中国首家希尔顿花园酒店在深圳开业以来,中国市场已经成为希尔顿花园酒店全球增长的重…

服务器里面打开浏览器访问不了会是什么原因

我们在日常使用服务器的过程中,时常会有遇到各类情况,近日就有遇到用户联系到德迅云安全,反馈自己在服务器里面打不开浏览器,服务器里面没有网络无法访问的情况。那我们今天就来讲下服务器里面打不开网站可能是由哪些原因导致。 …

奇偶链表00

题目链接 奇偶链表 题目描述 注意点 在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题偶数组和奇数组内部的相对顺序应该与输入时保持一致 解答思路 奇数组的头节点是head,偶数组的头节点是head.next,关键是要改变每个节点的next指针及…

PPT插件-布局参考-增加便携尺寸功能

PPT自带的尺寸为很久的尺寸,很多尺寸不常用,这里增加一些画册尺寸,用于PPT排版设计。 软件介绍 PPT大珩助手是一款全新设计的Office PPT插件,它是一款功能强大且实用的PPT辅助工具,支持Wps Word和Office Word&#x…

众和策略:尔滨!6连板!

1月9日,A股首要指数早盘震动上行。到午间收盘,沪指涨0.34%,深证成指涨0.36%,创业板指涨0.48%,北向资金净买入10.65亿元。 盘面上,冰雪游带火A股商场相关概念股,抢手股大连圣亚、长白山再封涨停…

【C语言】操作符

操作符分类 算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号操作符下标引用、函数调用和结构成员操作符 算术操作符 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。 对于 / 操作符如果两个操作数都为整数&am…

伺服电机:编码器原理与分类

什么是编码器? 编码器是将旋转位置的改变转换为电气信号。 编码器是伺服系统闭环控制不可缺少的部件,编码器应用在轴的闭环控制和大多数的自动化控制中。编码器为闭环控制提供位置或速度的实际测量值。 一、编码器的分类 从编码器的原理和产生的信号类…

数据结构之二叉搜索树(Binary Search Tree)

数据结构可视化演示链接,也就是图片演示的网址 系列文章目录 数据结构之AVL Tree 数据结构之B树和B树 数据结构之Radix和Trie 文章目录 系列文章目录示例图定义二叉搜索树满足的条件应用场景 示例图 二叉 线形(顺序插入就变成了线性树,例如插入顺序为&…

前端八股文(网络篇)一

目录 1.Get和Post的请求的区别 2.常见的HTTP请求头和响应头 3.常见的HTTP请求方法 4.HTTP与HTTPS协议的区别 5.对keep-alive的理解 6.页面有多张图片,HTTP是怎样的加载表现? 7.HTTP请求报文是什么样的? 8.HTTP响应报文是什么样&#x…

[uniapp] uni-ui+vue3.2小程序评论列表组件 回复评论 点赞和删除

先看效果 下载地址 uni-app官方插件市场: cc-comment组件 环境 基于vue3.2和uni-ui开发; 依赖版本参考如下: "dependencies": {"dcloudio/uni-mp-weixin": "3.0.0-3090820231124001","dcloudio/uni-ui": "^1.4.28","…

spring boot 自动扫描Controller、Service、Component原理

项目里面为什么不加上ComponentScan("com.yym.*")注解,也能加载到子目录里面的Controller,Service,Component的bean呢? 启动类没有ComponentScan注解 SpringBootApplication public class BootStrap {public static v…

非常好用的三款图片模糊变清晰的软件

在数字时代,照片的清晰度对于呈现高质量的视觉效果至关重要。然而,由于各种原因,我们有时会遇到模糊的照片。这时候,使用适当的软件来提高照片的清晰度就显得尤为重要。本文将介绍一些可以使模糊照片变清晰的软件,帮助…