学会python——对目录的操作(python实例十)

目录

1、认识Python

2、环境与工具

2.1 python环境

2.2 Visual Studio Code编译

3、遍历当前目录

3.1 代码构思

3.2 代码示例

3.3 运行结果

4、删除目录中的文件

4.1 代码构思

4.2 代码示例

4.3 运行结果

5、总计


1、认识Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。

 

2、环境与工具

2.1 python环境

在Windows上使用命令行窗口查看所安装的python版本

python --version

2.2 Visual Studio Code编译

Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。

3、遍历当前目录

3.1 代码构思

使用os.walk()函数返回数据类型,返回类型是是一个元组,第一项是正在遍历的目录,第二项是当前目录包含的子目录,第三项是列表代表当前目录下的文件。

注意:为了保证代码正常运行,代码位置的同一目录下要出现part2文件

3.2 代码示例

import os

# 定义一个元组来存储遍历的目录信息
ret_tuple = ()

# 遍历目录,显示当前正在遍历的目录,子目录和目录下的文件
ret_tuple = os.walk('./part2', topdown=True)
print("目录结构为:")
for cur_dir, list_dir, list_file in ret_tuple:
    print("当前目录名:", cur_dir)
    if list_dir:
        print("包含的子目录:", list_dir)
    if list_file:
        print('目录下的文件:', list_file)
    print('=' * 66)

3.3 运行结果

4、删除目录中的文件

4.1 代码构思

使用os.remove()  os.unlink()删除文件,删除目录的话用os.rmdir()但是该函数只能在目录为空的时候进行删除,所以用递归的方法从底层开始,删除文件和目录,进而删除整个目录文件

注意:主目录要和代码在同一层级

4.2 代码示例

import os
#删除目录函数
def del_dir(path):
#取得当前目录的子目录或文件
    list_dir_file=os.listdir(path)
#取得当前目录下的各项
    for file_dir in list_dir_file:
        down_path=os.path.join(path,file_dir)
#如果是目录应递归调用本身,调用del_dir()函数继续判断
        if os.path.isdir(down_path):
            del_dir(down_path)
        else:
            os.remove(down_path)
    list_dir_file=os.listdir(path)
#判断当前目录下是否为空
    if len(list_dir_file)==0:
        os.rmdir(path)
if __name__ =='__main__':
    del_path='./part2/testdir.zip'
#判断该目录是否有文件
    if os.path.isfile(del_path):
        os.remove(del_path)
    else:
        del_dir(del_path)

4.3 运行结果

上述代码运行之后会删除文件”testdir.zip。“

5、总计

上述代码直观的展示了文件查看、删减操作的具体过程,代码易读,容易理解。

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

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

相关文章

Linux-安装及管理程序

目录 一、Linux应用程序基础 1、应用程序与系统命令的关系 2、 典型应用程序的目录结构 3、常见的软件包封装类型 二、RPM包管理工具 1、RPM包管理器 2、RPM软件包 ​3、RPM的命令格式 4、RPM命令的常用选项 5、RPM安装 三、 yum安装 1、yum源介绍 1.1、本地yum源 …

ClosedXML

一、类库介绍 ClosedXML是一个用于读取、操作和写入Excel 2007 (.xlsx, .xlsm)文件的.NET第三方库。它基于OpenXML,但与OpenXML相比,ClosedXML具有更高的性能和更易于使用的API接口。 ClosedXML支持XML文档的解析和生成,可以处理复杂的XML结…

程序员如何高效读代码?

程序员高效读代码的技巧包括以下几点: 明确阅读目的:在开始阅读代码之前,先明确你的阅读目的。是为了理解整个系统的架构?还是为了修复一个具体的bug?或者是为了了解某个功能是如何实现的?明确目的可以帮助…

系统安全设计规范(Word原件)

1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 资料获取:私信或者进主页。…

示例:WPF中推荐一个支持折叠展开的GridSpliter自定义控件GridSplitterBox

一、目的:推荐一个支持折叠展开的GridSpliter自定义控件GridSplitterBox 二、效果 实现功能:设置菜单显示位置,最小宽度,最大宽度,位置持久化保存 三、环境 VS2022 Net7 四、使用方式 1、安装nuget包:H…

能理解你的意图的自动化采集工具——AI和爬虫相结合

⭐️我叫忆_恒心,一名喜欢书写博客的研究生👨‍🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支…

pytest测试框架flaky插件重试失败用例

Pytest提供了丰富的插件来扩展其功能,本章介绍下插件flaky ,用于在测试用例失败时自动重新运行这些测试用例。与前面文章介绍的插件pytest-rerunfailures功能有些类似,但是功能上不如pytest-rerunfailures插件丰富。 flaky官方并没有明确pyt…

中国企业数字化转型现状、趋势和挑战

一、来自不同行业、不同所有制的145家企业的调查 为了了解中国企业数字化转型的现状、趋势和挑战,2022年我们完成了一次在线问卷调查。 受访企业达145家,国内企业111家,占比77%(其中央企占总比例51%),民营…

【Python机器学习】k均值聚类——矢量量化,或者将k均值看作分解

虽然k均值是一种聚类算法,但在k均值和分解方法之间存在一些相似之处。k均值尝试利用簇中心来表示每个数据点,可以看作仅用一个分量来表示每个数据点,该分量由簇中心给出。这种观点将k均值看作是一种分解方法,其中每个点用单一分量…

【计算机组成原理】部分题目汇总

计算机组成原理 部分题目汇总 一. 简答题 RISC和CICS 简要说明,比较异同 RISC(精简指令集)注重简单快速的指令执行,使用少量通用寄存器,固定长度指令,优化硬件性能,依赖软件(如编译…

Adobe Acrobat 编辑器软件下载安装,Acrobat 轻松编辑和管理各种PDF文件

Adobe Acrobat,它凭借卓越的功能和丰富的工具,为用户提供了一个全面的解决方案,用于查看、创建、编辑和管理各种PDF文件。 作为一款专业的PDF阅读器,Adobe Acrobat能够轻松打开并展示各种格式的PDF文档,无论是文字、图…

软考初级网络管理员__软件单选题

1.在Excel 中,设单元格F1的值为56.323,若在单元格F2中输入公式"TEXT(F1,"¥0.00”)”,则单元格F2的值为()。 ¥56 ¥56.323 ¥56.32 ¥56.00 2.要使Word 能自动提醒英文单…

前沿技术丨S2S自动化测试解决方案

技术背景 随着面向服务的架构(Service-Oriented Architecture,SOA)在整车架构中的逐步推进及应用,车内网络通信中会一直并存基于以太网的面向服务和基于传统网络的面向信号的两类控制器,S2S(Signal to Ser…

USB - USB在消费领域的应用

Switching in USB Consumer Applications 通用串行总线(USB)已成为满足终端设备之间日益增长的快速数据传输需求的主流接口--例如,在个人电脑和便携式设备(如手机、数码相机和个人媒体播放器)之间下载和上传数据。 The…

如何与情绪好好相处,真正成为情绪的主人

一、教程描述 若要成为一个聪明的人,就要学会做情绪的主人,而不是被情绪控制自己,为什么要做情绪的主人?至少有以下两个方面原因。 其一,都说,世上还是好人多。可是,为什么你身边没有一个好人…

npm 安装踩坑

1 网络正常,但是以前的老项目安装依赖一直卡住无法安装?哪怕切换成淘宝镜像 解决办法:切换成yarn (1) npm i yarn -g(2) yarn init(3) yarn install在安装的过程中发现: [2/4] Fetching packages... error marked11.1.0:…

android 彩虹进度条自定义view实现

实现一个彩虹色进度条功能,不说明具体用途大家应该能猜到。想找别人造的轮子,但是没有合适的,所以决定自己实现一个。 相关知识 android 自定义view LinearGradient 线性渐变 实现步骤 自定义view 自定义一个TmcView类继承View 重写两…

单体服务系统认证

上一节讲了如何使用JWT生成令牌,下面说说单体服务认证基本流程。 认证流程 流程图: 流程描述: 用户输入登录信息,客户端(Web/APP等)发起登录请求;服务端校验该用户是否有效,用户…

批量重命名神器揭秘:一键实现文件夹随机命名,自定义长度轻松搞定!

在数字化时代,我们经常需要管理大量的文件夹,尤其是对于那些需要频繁更改或整理的文件来说,给它们进行批量重命名可以大大提高工作效率。然而,传统的重命名方法既繁琐又耗时,无法满足高效工作的需求。今天,…

【05】数据模型和工作量证明-简单的区块链模型

1. 简单的区块链模型 每一个区块都保存了签一个区块的hash值,这样多个区块就可以形成一个有序的后向连接的列表。 如果,区块链中的某1区块的数据被篡改,那么该区块的hash值会被改变,那么致使由该“错误区块”引导的子链失效(不被认可),从而从结构上保证了数据的可靠性、…