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语句中,我们会看到,我们将三个条件直接写死了。 如果页面…

测试用例设计方法(等价类划分、边界值法、错误推测法、因果图、正交试验、场景设计法/流程分析法)

测试用例设计方法 测试用例设计方法主要包括以下几种: 等价类划分法:将测试的范围划分为几个互不相交的子集,它们的并集是全集,从每个子集选出若干具有代表性的值作为测试用例。有效等价类是程序规格说明有意义,合理…

LCR 155 将二叉树转化为排序的双向循环链表

一开始连题目都没怎么看懂,为什么一个已排序的双向循环链表还是二叉树啊。后面看了题解后就差不多懂了,反正就是把二叉搜索树变成从根节点往下数的时候是顺序的。那么怎么遍历该搜索二叉树顺序就对了呢?中序遍历就好了 题目 将一个 二叉搜索…

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

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

【ChCore Lab 00】ChCore Lab 环境简单搭建

[实验环境]: OS: Ubuntu 22.04 LTS 1. 搭建编译和运行环境 实验环境至少需要 arm-gcc、docker 其中之一或者 qemu。首先 git 是必不可少的。 sudo apt-get install git -y安装交叉编译工具链。 sudo apt-get install gcc-aarch64-linux-gnu安装lab运…

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 …

Redis服务器配置文件的常用配置

# 网络配置 bind 127.0.0.1 # 绑定的IP地址,默认为本地回环地址,0.0.0.0表示监听所有地址 port 6379 # 监听的端口号,默认为6379 tcp-backlog 511 # TCP连接的backlog队列长度,默认为511 tcp-…

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

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

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

【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++ 智能指针 unique_ptr

使用指针时很容易出现内存泄漏,便引入了智能指针,c 11中主要有三类 std::unique_ptr:独占资源指针,同一时刻只能有一个指针指向同一个对象std::shared_ptr:共享资源指针,同一时刻可以有多个指针指向同一个…

数据增强的基本概念和应用

数据增强对于深度学习具有重要的意义,可以作为一个单独的模块应用于各种各样的任务中。为了加深对数据增强常用库的方法介绍,通过使用实际案例分析实现这些方法,使自己加深对计算机视觉领域下的数据增强的理解。 一.数据增强的概念 数据增强…

C++之模板类template

在C中,模板类是一种允许你编写通用类以处理各种数据类型的机制。通过使用模板类,你可以编写一次代码,然后使用不同的数据类型进行实例化,而无需为每种数据类型都编写一个新类。这有助于实现代码的重用和泛化。 一个实例&#xff…