python实现目录和文件管理

news2024/11/15 19:17:27

目录

一:模块介绍:

二:目录创建

三:目录删除

四:目录复制

五:目录移动

六:文件创建

七:文件删除

八:文件读取


一:模块介绍:

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.coloradmin.cn/o/1368822.html

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

相关文章

Java零基础教学文档第一篇:JavaSE(3)

接上期后续 本期继续分享尚未结束的JavaSE章节 JavaSE属于初入门阶段,内容很多~ 但很基础, 大家需保持耐心,慢慢的学~ 争取你们学习的速度! 跟上我更新的速度哦~ 今日新篇章 流程控制语句 【主要内容】 if单选结构 if双选结构…

Java多线程编程中的异常处理策略

第1章:引言 大家好,我是小黑,咱们今天聊聊异常处理。想必大家在写代码的时候都遇到过各种各样的异常吧?有时候,一个小小的异常如果处理不当,就可能导致整个程序崩溃。特别是在多线程环境下,异常…

H2S硫化氢荧光探针之星戈瑞实验室单品

H2S硫化氢荧光探针(近红外二区)优势和应用 λe x 1064 nm ,λem 1100 nm 近红外二区硫化氢荧光探针具有许多优势,使其在生物医学领域具有诸多应用。以下是其主要优势和应用方面: **优势: 1.深度穿透性&…

Git分支学习

Commit 每次 Commit ,都会多一个节点,C1是C2的父节点,在C1的基础上产生。 使用 git commit 提交代码分支。 Branch 根据逻辑分解工作到不同的分支,在将分支和提交记录结合起来后,我们会看到两者如何协作。 在 mai…

subversion httpd

通过http访问模式部署SVN的操作步骤如下: 步骤一:安装SVN 步骤二:安装Apache 步骤三:安装mod_dav_svn 步骤四:配置SVN 步骤五:配置Apache 步骤六:浏览器测试访问 步骤一:安装SVN 1.…

2024第15届电子教育、电子商务、电子管理和电子学习国际会议

第十五届电子教育、电子商务、电子管理和电子学习国际会议(IC4E 2024)将于2024年3月18日-21日在日本福冈举办。本次会议以电子技术为核心,围绕电子教育、电子商务、电子管理以及电子学习等各个方面展开研讨,为相关领域的专家学者们…

yolov8实战第五天——yolov8+ffmpeg实时视频流检测并进行实时推流——(推流,保姆教学)

yolov8实战第一天——yolov8部署并训练自己的数据集(保姆式教程)_yolov8训练自己的数据集-CSDN博客 yolov8实战第三天——yolov8TensorRT部署(python推理)(保姆教学)-CSDN博客 今天,我们继续y…

‘pip‘ 不是内部或外部命令、ImportError: cannot import name ‘SCHEME_KEYS‘

错误一:启动程序中出现致命错误:无法使用“f:\pythonv\scripts\python.exe” G:\pythonv\scripts\ pip.exe” 错误二:‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。 错误三:ImportError: cannot import name SCH…

九州金榜|孩子厌学,不是不想学,而是学不会

不是我不想学,而是我不会学,很多孩子这学习过程中是不是有这种感想,家长也是看孩子非常努力,但是效果却不尽如人意,时间长了,得不到有效的结果,孩子就此产生厌学情绪,这一类孩子原因…

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

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

Windows内存管理(二):内存架构 浅谈一二

《Windows内存管理(一):Windows性能监视器(PerfMon)》 Windows内存管理是一个复杂的主题,涉及多个层次和组件。以下是一个分层的概述。 1、虚拟内存管理 Windows使用虚拟内存来给每个进程提供一个看似连续的内存空间&#xff0c…

20个城市公交线路数据分享,Shp+excel格式,2020年,城市发展、公共设施规划必备数据,已实现数据可视化

随着城市交通的不断发展,公交线路已经成为人们出行的重要方式之一。 公交线路数据和公交站点数据是GIS系统中的重要数据集之一。公交线路数据包括公交车辆行驶的路径和站点之间的连接信息,今天分享的就是部分城市的公交线路数据,始发站、终点…

Spring MVC(day1)

什么是MVC MVC是一种设计模式,将软件按照模型、视图、控制器来划分: M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为数据承载Bean:专门存储业务数据…

无法自动装配。找不到 ‘RabbitTemplate‘ 类型的 Bean

解决方案&#xff1a;把这个项目的spring-rabbit依赖的<scope>test</scope>删除并重新加载maven

WPF 基础入门(资源字典)

资源字典 每个Resources属性存储着一个资源字典集合。如果希望在多个项目之间共享资源的话&#xff0c;就可以创建一个资源字典。资源字段是一个简单的XAML文档&#xff0c;该文档就是用于存储资源的&#xff0c;可以通过右键项目->添加资源字典的方式来添加一个资源字典文件…

Python基础(二十二、自定义模块和包)

文章目录 一、自定义模块1.如何自定义模块并导入?2.__main__变量的功能3.注意事项 二、自定义包1.什么是Python的包?2.__init __.py文件的作用?3.__all__变量的作用?4.示例 三、自定义模块和自定义包的好处 一、自定义模块 1.如何自定义模块并导入? 在Python代码文件中正…

不通过微软商店进行安装 UWP 软件

参考&#xff1a; 不通过微软商店下载安装uwp应用_uwp应用只能去商店下载吗-CSDN博客离线下载和安装UWP(windows应用商店)软件 - 赵青青 - 博客园UWP程序安装正确步骤(例:华硕奥创安装错误200) - 哔哩哔哩 1 前往线上商店&#xff0c;搜索想要安装的应用。 以安装 Microsoft…

sonarqube配置本地扫描代码

一、本地maven设置setting文件&#xff1a; 1&#xff09;添加pluginGroup <pluginGroups><pluginGroup>org.sonarsource.scanner.maven</pluginGroup></pluginGroups> 2&#xff09;添加profile&#xff1a; <profile><id>sonar</i…

python语言在web上的应用:如何节省服务器资源?

背景介绍​ 在web开发中的应用广泛​ 在web开发中的应用广泛。随着互联网的发展&#xff0c;web应用越来越普遍&#xff0c;而Python作为一种简洁、高效的编程语言&#xff0c;被广泛应用于web开发领域。Python提供了丰富的库和框架&#xff0c;如Django、Flask等&#xff0c…

C#,快速排序算法(Quick Sort)的非递归实现与数据可视化

排序算法是编程的基础。 常见的四种排序算法是&#xff1a;简单选择排序、冒泡排序、插入排序和快速排序。其中的快速排序的优势明显&#xff0c;一般使用递归方式实现&#xff0c;但遇到数据量大的情况则无法适用。实际工程中一般使用“非递归”方式实现。 快速排序(Quick Sor…