python目录树生成器

在这里插入图片描述
代码如下:

import os
from colorama import Fore, Style, init
from tkinter import Tk, Label, Entry, Button, Text, Scrollbar, RIGHT, Y, END# 初始化 colorama
init(autoreset=True)def print_directory_tree(root_dir, text_widget, indent='', last=True):"""递归打印目录树并显示在文本框中"""if os.path.isfile(root_dir):text_widget.insert(END, f'{indent}{"└── " if last else "├── "} {os.path.basename(root_dir)}\n')else:text_widget.insert(END, f'{indent}{"└── " if last else "├── "} {os.path.basename(root_dir)}\\\n')indent += '    ' if last else '│   'items = os.listdir(root_dir)for i, item in enumerate(items):last = i == len(items) - 1print_directory_tree(os.path.join(root_dir, item), text_widget, indent, last)def generate_tree():root_dir = entry.get()text_widget.delete(1.0, END)text_widget.insert(END, f'{root_dir}\n')print_directory_tree(root_dir, text_widget)# 创建主窗口
root = Tk()
root.title("目录树生成器")# 创建标签、输入框和按钮
label = Label(root, text="输入目录路径:")
label.pack()entry = Entry(root, width=50)
entry.pack()button = Button(root, text="生成目录树", command=generate_tree)
button.pack()# 创建文本框和滚动条
text_widget = Text(root, wrap='none', height=25, width=80)
scrollbar = Scrollbar(root, command=text_widget.yview)
text_widget.configure(yscrollcommand=scrollbar.set)
scrollbar.pack(side=RIGHT, fill=Y)
text_widget.pack(side=RIGHT, fill=Y)# 运行主循环
root.mainloop()

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

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

相关文章

NISP国家信息安全水平考试

国家信息安全水平考试(NISP)是中国信息安全测评中心考试、发证,由国家网络空间安全人才培养基地运营管理,并授权网安世纪科技有限公司为NISP证书管理中心。 中国信息安全测评中心开展国家信息安全水平考试(NISP)考试项目,是为普及信息安全/网…

Sklearn 深入教程

Sklearn 深入教程 Scikit-learn(sklearn)是Python中功能强大且广泛使用的机器学习库。本教程将深入探讨sklearn中的高级主题,涵盖高级数据预处理、高级特征工程、复杂模型调参、高级集成学习、模型持久化与部署等内容。 目录 高级数据预处…

Python实例:faker生成数据集、文件

原文链接:http://www.juzicode.com/python-example-faker-create-data 本文的几个例子用faker生成数据并用openpyxl生成表格,或者生成csv、xml、图像文件。 A)生成个人数据 #juzicode.com/VX公众号:juzicode from openpyxl import Workboo…

IOS Swift 从入门到精通:BlurEffect BlendMode stroke

文章目录 UIBlurEffectBlendModestroke基本用法:描边样式:与strokeBorder的区别:组合使用:自定义形状:UIBlurEffect 在Swift中,实现模糊效果通常是通过UIKit框架中的UIBlurEffect类来完成的,这通常被称作毛玻璃效果。 **创建UIBlurEffect实例:**选择一个模糊效果的样…

探索AudioLM的音频源识别能力:解锁声音的奥秘

🎵 探索AudioLM的音频源识别能力:解锁声音的奥秘 🔍 在音频处理领域,识别不同的音频源是一项挑战性任务,涉及到音频信号处理、模式识别和机器学习等多个领域。AudioLM,作为一个假想的先进的音频处理模型&a…

docker 安装MySQL8以上

1.新建目录 mkdir -p /usr/local/src/mysql80 2.安装最新mysql # 拉取镜像 docker pull mysql 3.运行镜像创建容器,实现数据库和日志的持久化等命令 docker run \ -p 3380:3306 \ --name mysql80 \ --privilegedtrue \ --restartalways \ -v /usr/local/src/my…

Spring Boot如何实现跨域资源共享(CORS)?

🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪 🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 🍅 技术交流:定期更新…

1.k8s:架构,组件,基础概念

目录 一、k8s了解 1.什么是k8s 2.为什么要k8s (1)部署方式演变 (2)k8s作用 (3)Mesos,Swarm,K8S三大平台对比 二、k8s架构、组件 1.k8s架构 2.k8s基础组件 3.k8s附加组件 …

5种算法简单介绍:贪心算法、分治法、回溯法、动态规划法、最大流算法

1. 贪心算法(Greedy Algorithm) 定义: 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法并不是对所有问题都能得到整体最优…

【STM32-存储器映射】

STM32-存储器映射 ■ STM32F1-4G地址空间分成8个块■ STM32F1-Block0■ STM32F1-Block1■ STM32F1-Block2■ STM32F1- ■ STM32F1-4G地址空间分成8个块 ■ STM32F1-Block0 有出厂 BootLoader 就可以使用串口下载程序。如Keil5图中IROM地址是0x8000000 开始 就是flash地址 ■ S…

使用方法——注意事项及好处

public class MethodDemo01 {public static void main(String[] args) {// 目标:掌握定义方法的完整性,清楚使用方法的好处。// 需求:假如现在有很多程序员都要进行2个整数求和的操作。//1、李工。int rs sun(10,20);System.out.println(&q…

低代码开发平台赋能智慧警务管理:创新引领下的安全新篇章

随着信息技术的飞速发展,智慧警务管理已经成为维护社会治安、保障人民安全的重要手段。在这一背景下,低代码开发平台以其高效、灵活、易用的特性,为智慧警务管理注入了新的活力。本文将探讨低代码开发平台在智慧警务管理中的应用,…

vue-codemirror的简单使用

功能 代码编辑器 安装 命令行&#xff1a;npm install codemirror vue-codemirror --save 单文件引入 import { Codemirror } from vue-codemirror 单文件展示 <codemirrorv-model"localCode"class"code-mirror":placeholder"placeholder&qu…

[vscode] 自定义log快捷生成代码

1、进入设置页面&#xff1a;文件>首选项>用户代码片段>选择设置的语言。 2. 关于代码段显示位置的调整设置 文件>首选项>设置&#xff0c;搜索代码段或snippetSuggestions&#xff0c;修改为”top”; 参考&#xff1a; vscode自定义log快捷生成代码

vue 设置定时器在某个时间段执行

业务需求&#xff1a;数据大屏页面中的某个方法需要在今天12:00执行一次&#xff0c;或是在今天的17:00执行一次&#xff0c; 这里用到 setTimeout定时器来实现。 //获取某个时间的时间戳 getCurrentDate(time) {let now new Date();let year now.getFullYear();let mont…

直流电机双闭环调速Simulink仿真

直流电机参数&#xff1a; 仿真模型算法介绍&#xff1a; 1&#xff09;三相整流桥&#xff0c;采用半控功率器件SCR晶闸管&#xff1b; 2&#xff09;采用转速环、电流环 双闭环控制算法&#xff1b; 3&#xff09;外环-转速环&#xff0c;采用PI 比例积分控制&#xff1b;…

Java进阶-Lambda

Java进阶-Lambda 前言Lambda表达式什么是Lambda表达式初识Lambda表达式Lambda表达式的简单使用Lambda表达式格式分析与传统接口方法实现的比较 理解Lambda表达式函数式编程非纯函数实例纯函数示例函数式编程在Lambda表达式中的体现 闭包闭包与Lambda表达式的示例 类型推导-匿名…

633. 平方数之和(中等)

633. 平方数之和 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java内存溢出溢出代码正确代码与截图 1. 题目描述 题目中转&#xff1a;633. 平方数之和 2.详细题解 本题是167. 两数之和 II - 输入有序数组&#xff08;中等&#xff09;题目的变型&#xff0c;由两数之和变…

数字图像分析(第二部分)

文章目录 第8章 图像分割图像分割定义阈值分割依赖像素的阈值选取Otsus方法依赖区域的阈值选取依赖坐标的阈值选取变化阈值法区域生长法分裂合并方法分水岭算法聚类分割算法K-meansAP算法Graph cut第9章 图像特征表达基于全局特征的图像表达直方图GIST基于局部特征的图像表达简…

ROS中里程计崩溃的原因分析

里程计节点崩溃可能由多种原因引起&#xff0c;以下是一些可能的因素&#xff1a; 1. **场景特征不足**&#xff1a;如果机器人或车辆所处环境缺乏足够的特征&#xff08;如在单调、重复纹理的地面或墙面&#xff09;&#xff0c;视觉里程计等定位方法可能因找不到匹配特征而失…