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

news2025/1/18 11:00:04

目录

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、总计

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

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

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

相关文章

CTF-蓝帽杯 2022 初赛Misc计算机取证题目详解

使用工具:Volatility、Passware Kit、Arsenal Image Mounter、DiskGenius 题目文件如下: 首先要知道这些文件是什么: dmp后缀指Dump文件,是windows系统中的错误转储文件。包含计算机程序运行时的内存信息的文件。通常操作系统或…

基于SpringBoot+Vue二手交易平台设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…

经典面试题【作用域、闭包、变量提升】,带你深入理解掌握!

前言:哈喽,大家好,我是前端菜鸟的自我修养!今天给大家分享经典面试题【作用域、闭包、变量提升】,并提供具体代码帮助大家深入理解,彻底掌握!原创不易,如果能帮助到带大家&#xff0…

Codeforces Round 953 (Div. 2) A~F

A.Alice and Books(思维) 题意: 爱丽丝有 n n n本书。第 1 1 1本书包含 a 1 a_1 a1​页,第 2 2 2本书包含 a 2 a_2 a2​页, … \ldots …第 n n n本书包含 a n a_n an​页。爱丽丝的操作如下: 她把所有的…

CTO的职责是什么?

看《架构思维》作者是这样讲的: CTO 到底是做什么的? 我当下的答案是:“CTO 就是一个从技术视角出发,为公司或者所在的部门做正确决策的 CEO。”怎么理解这句话呢?作为一个 CTO,其长期目标和决策优先级与…

【Linux】系统文件IO·文件描述符fd

前言 C语言文件接口 C 语言读写文件 1.C语言写入文件 2.C语言读取文件 stdin/stdout/stderr 系统文件IO 文件描述符fd: 文件描述符分配规则: 文件描述符fd: 前言 我们早在C语言中学习关于如何用代码来管理文件,比如文件的…

搜狐视频全自动工具

项目介绍: 首先我们要用自己的一个号,作为主号,主号上发作品,利用不实名的小号通过脚本自动去浏览视频 小号看视频的同时会出现搜狐官方强行插入的广告,从而获得收益 收益介绍: 小号看一个视频会出现3-…

使用SpringCache实现Redis缓存

目录 一 什么是Spring Cache 二 Spring Cache 各注解作用 ①EnableCaching ②Cacheable ③CachePut ④CacheEvict 三实现步骤 ①导入spring cache依赖和Redis依赖 ②配置Redis连接信息 ③在启动类上加上开启spring cache的注解 ④ 在对应的方法上加上需要的注解 一 什么…

虚拟机IP地址频繁变化的解决方法

勾八动态分配IP,让我在学习redis集群的时候,配置很多的IP地址,但是由于以下原因导致我IP频繁变动,报错让我烦恼!!!! 为什么虚拟机的IP地址会频繁变化? 虚拟机IP地址频繁…

【Python机器学习】利用t-SNE进行流形学习

虽然PCA通常是用于变换数据的首选方法,使你能够用散点图将其可视化,但这一方法的性质限制了其有效性。 有一类用于可视化的算法叫做流形学习算法,它允许进行更复杂的映射,通常也可以给出更好的可视化。其中特别有用的一个就是t-S…

MySQL学习笔记-进阶篇-锁

概述 概念 全局锁 表级锁 介绍 表锁 读锁 只允许加锁客户端读操作禁止写操作。允许其他客户端的读操作,阻塞其他客户端的写操作。 lock tables xxx read unlock tables; 写锁 允许加锁客户端的读写操作。既阻塞其他客户端的读,又阻塞其他客…

ARM功耗管理框架之PPU

安全之安全(security)博客目录导读 思考:功耗管理框架?SCP?PPU?LPI?之间的关系?如何配合? 目录 一、功耗管理框架中的PPU 二、PPU的结构与连接关系 三、PPU操作模式和电源模式及其之间的转…

尹会生:从零开始部署翻译助手【总结】

安装docker安装dify 工具准备 Docker 简介:可以在不同电脑上运行相同的容器,类似于把软件装在便携箱子里,随身携带。 优点:安装Docker可以简化部署过程,避免安装许多依赖性软件。 网址:https://www.docke…

分布式定时任务系列10:XXL-job源码分析之路由策略

传送门 分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 分布式定时任务系列5:XXL-job中blockingQueue的应用 …

SLAM ORB-SLAM2(27)词袋模型

SLAM ORB-SLAM2(27)词袋模型 1. 词袋模型1.1. 词汇树1.2. 逆向索引表1.3. 逆向索引表2. 词袋向量3. 匹配候选帧3.1. 找出和当前帧具有公共单词的所有关键帧3.2. 找出和当前帧最多公共单词的关键帧3.3. 剔除共享单词数较少的关键帧3.4. 计算关键帧的共视关键帧组的总得分3.5. …

CentOS系统查看版本的各个命令

cat /etc/centos-release 查看CentOS版本 uname -a 命令的结果分别代表:当前系统的内核名称、主机名、内核发型版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称 cat /proc/version 命令用于查看Linux内核的版本信息。执行该命令后&#xf…

Ubuntu/Linux系统安装JDK1.8(带jdk1.8资源和操作教程)

文章目录 前言一、JDK1.8下载二、上传三、安装四、配置环境变量五、查看总结 前言 !!!!!!!!!!!!Ubuntu/Linux jdk1.8安装包&#xff…

JetBrains PyCharm 2024 mac/win版编程艺术,智慧新篇

JetBrains PyCharm 2024是一款功能强大的Python集成开发环境(IDE),专为提升开发者的编程效率和体验而设计。这款IDE不仅继承了前代版本的优秀特性,还在多个方面进行了创新和改进,为Python开发者带来了全新的工作体验。 JetBrains PyCharm 20…

初阶《操作符详解》 3. 移位操作符

3. 移位操作符 <<  左移操作符 >>  右移操作符 注&#xff1a;移动的是二进制位&#xff0c;移位操作符的操作数只能是整数。 一个存储的二进制码分原码、反码、补码 1.十进制数据的二进制表现形式就是原码&#xff0c;原码最左边的一个数字就是符号位&#xff…

leetcode 二分查找·系统掌握

题目&#xff1a; 题解&#xff1a; 在阶梯数达到某一值后已有的硬币数量就小于了阶梯可以装的硬币数量&#xff0c;根据题意可以使用~10~泛型查找出最后一个可以被填满的阶梯。对于这类型可以二分答案的题目关键在于二分答案的上下界&#xff0c;本题的下界就是1上界就是硬币…