检索qpython文件夹下的.py,将文件复制单独文件夹并给出进度条

news2024/11/26 9:42:33

基本任务

检索qpython文件夹下的.py,将文件复制单独文件夹并给出进度条

详细说明

  1. 首先导入了os和shutil模块,它们分别用于进行文件、文件夹操作和复制文件操作。

  2. 然后定义了源文件夹路径和目标文件夹路径。源文件夹路径指定了需要遍历的文件夹,而目标文件夹路径指定了复制文件的目标路径。

  3. 接着使用os模块创建了目标文件夹。如果目标文件夹不存在,则通过os.makedirs函数进行创建。

  4. 使用os.listdir函数遍历源文件夹中的所有文件名,使用for循环对每个文件进行处理,判断该文件是否以.py结尾,如果是则执行下一步操作。

  5. 生成新文件名。在目标文件夹中,文件名由序号和文件名组成,序号表示该文件在目标文件夹中的顺序。序号的值等于目标文件夹中已有文件数量加1。例如,如果目标文件夹中已经有一个文件,那么当前文件的序号就为2,以此类推。

  6. 构建源文件路径和目标文件路径。使用os.path.join函数将文件名和文件夹路径拼接起来,得到源文件路径src_file_path和目标文件路径dst_file_path。

在这里插入图片描述

  1. 复制文件到目标文件夹。使用shutil.copy函数将源文件复制到目标文件夹中。

  2. 上述操作中,文件复制过程比较耗时,如果文件较多,用户等待的时间也会较长。因此,我们可以使用tqdm库添加进度条功能,让用户更加直观地了解复制进度。

  3. 首先,我们使用from tqdm import tqdm语句从tqdm库中导入tqdm函数。

  4. 接着,获取源文件夹中所有.py文件的列表py_files。这可以通过列表推导式实现,遍历源文件夹中的所有文件名,将以.py结尾的文件名加入到py_files列表中。

  5. 使用tqdm函数创建一个进度条。进度条的描述信息为’Copying files’,也可以根据需要进行修改。使用for循环遍历py_files列表,对每个文件进行处理。

  6. 在for循环中的操作与前面的代码类似,使用生成新的文件名、构建源文件路径和目标文件路径、复制文件到目标文件夹等步骤。

  7. 在for循环之外,现在运行程序时,你将看到一个带有进度条的复制文件过程。进度条显示复制文件的进度,可以让用户更加直观地了解复制过程。

代码

添加一个简单的进度条。可以使用tqdm库来实现进度条功能。首先,请确保你已经安装了tqdm库,如果没有安装可以使用以下命令进行安装:

pip install tqdm

然后,你可以使用下面的代码来实现进度条功能:

import os
import shutil
from tqdm import tqdm

# 源文件夹路径
src_folder = '/storage/emulated/0/qpython'
# 目标文件夹路径
dst_folder = '/storage/emulated/0/qpython/py文件'

# 创建目标文件夹
if not os.path.exists(dst_folder):
    os.makedirs(dst_folder)

# 获取源文件夹中的.py文件列表
py_files = [file_name for file_name in os.listdir(src_folder) if file_name.endswith('.py')]

# 使用tqdm创建进度条,并遍历.py文件列表
for file_name in tqdm(py_files, desc='Copying files'):
    # 生成新文件名
    new_file_name = f"{len(os.listdir(dst_folder)) + 1}_{file_name}"
    # 构建源文件路径和目标文件路径
    src_file_path = os.path.join(src_folder, file_name)
    dst_file_path = os.path.join(dst_folder, new_file_name)
    # 复制文件到目标文件夹
    shutil.copy(src_file_path, dst_file_path)

以上代码中,我们通过将.py文件列表传递给tqdm函数来创建进度条。
在这里插入图片描述
在这里插入图片描述
进度条会显示复制文件的进度。你可以根据需要修改进度条的描述信息。运行以上代码,你将看到一个带有进度的复制文件过程。

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

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

相关文章

C语言刷题(Day1)

前言 本章我们带来几个经典得C语言练习题。 不要认为之前学过C语言,刷过这些题就不愿意再做题了。对待技术,我们永远要怀以一种空杯心态。 温故而知新,可以为师矣。 老师说,每道题都要尝试用不同得解法,去思考更多的…

动态规划算法(2)--最大子段和与最长公共子序列

目录 一、最大子段和 1、什么是最大子段和 2、暴力枚举 3、分治法 4、动态规划 二、最长公共子序列 1、什么是最长公共子序列 2、暴力枚举法 3、动态规划法 4、完整代码 一、最大子段和 1、什么是最大子段和 子段和就是数组中任意连续的一段序列的和,而…

Django之模板

一)模板(T) 什么时候会使用模板呢? 仅对于Django这个框架来说,因为其是默认前后端不分离的框架(前后端不分离值开发时前后端的代码在一起,不通过接口的方式连接,通过模板渲染的方式…

七大基于比较的排序算法(JAVA)

目录 冒泡排序 优化: 堆排序 插入排序 希尔排序 归并排序 快速排序 优化 选择排序 排序算法的稳定性: 大小相同的元素在排序前后相对位置相同就称其为稳定的排序。 注:一个本身就是稳定的排序 是可以实现为不稳定的排序的 &#x…

JavaSE学习之--抽象类,接口,内部类

💕"没有眼泪我们就会迷路,彻底变成石头,我们的心会变成冰凌,吻会变成冰块。"💕 作者:Mylvzi 文章主要内容:JavaSE学习之--抽象类,接口,内部类 目录 一.抽象…

【牛客网】OR59 字符串中找出连续最长的数字串

题目 思路 创建两个字符串 temp 和 ret 创建指针i用来遍历字符串通过i遍历字符串,如果遇到数字则将这个数组加到字符串temp中 i,如果遇到字母,则判断temp字符串的长度和ret字符串的长度,如果temp<ret则说明这个字符串不是要的字符串,如果temp>ret则说明此时temp字符串是…

线性表的链式存储结构——链表

一、顺序表优缺点 优点&#xff1a;我们知道顺序表结构简单&#xff0c;便于随机访问表中任一元素&#xff1b; 缺点&#xff1a;顺序存储结构不利于插入和删除&#xff0c;不利于扩充&#xff0c;也容易造成空间浪费。 二、链表的定义 ①&#xff1a;概念&#xff1a; 用一组任…

springmvc-页面跳转表单标签其他标签tomcat控制台中文乱码问题

1. WEB-INF下页面跳转 容器启动后&#xff0c;如何默认显示web-inf目录下的系统首页。 2. ModelAttribute来注解非请求处理方法 用途&#xff1a;预加载数据&#xff0c;会在每个RequestMapping方法执行之前调用。 特点&#xff1a;无需返回视图&#xff0c;返回类型void 示例…

【计算机网络黑皮书】应用层

【事先声明】 这是对于中科大的计算机网络的网课的学习笔记&#xff0c;感谢郑烇老师的无偿分享 书籍是《计算机网络&#xff08;自顶向下方法 第6版&#xff09;》 需要的可以私信我&#xff0c;无偿分享&#xff0c;课程简介下也有 课程连接 目录 应用层网络应用的原理应用架…

[BJDCTF2020]The mystery of ip

打开环境 点击flag&#xff0c;提示ip&#xff0c;这里确实就比较容易联想到x-forwarded-for 点击hint 这个好像没啥用 使用bp抓包 添加请求头 X-Forwarded-For:1 试一下 发现ip可控 后来查了发现 PHP可能存在Twig模版注入漏洞 参考https://www.cnblogs.com/zzjdbk/p/13…

Scala第十七章节

Scala第十七章节 scala总目录 文档资料下载 章节目标 了解集合的相关概念掌握Traversable集合的用法掌握随机学生序列案例 1. 集合 1.1 概述 但凡了解过编程的人都知道程序 算法 数据结构这句话, 它是由著名的瑞士计算机科学家尼古拉斯沃斯提出来的, 而他也是1984年图灵…

ADO连接Access的前期绑定方法实例(下)

【分享成果&#xff0c;随喜正能量】眾生多悲苦&#xff0c;發願‬菩提心。願今天所有聽見我、看見我、憶念我的眾生&#xff0c;因我心而‬生喜悅&#xff01;除消身心的痛苦&#xff01;種下脫解‬的種子&#xff01;願我等‬身心念力所及之處一切眾切‬生因佛得度&#xff0…

【AI视野·今日CV 计算机视觉论文速览 第258期】Mon, 2 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Mon, 2 Oct 2023 (showing first 100 of 112 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers Multi-task View Synthesis with Neural Radiance Fields Authors Shuhong Zheng, Zh…

Vue的模板语法

Vue的模板语法 Vue 使用一种基于 HTML 的模板语法&#xff0c;使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML&#xff0c;可以被符合规范的浏览器和 HTML 解析器解析。 测试准备 为了方便测试&#xff0c;先将vue-base项…

【AI视野·今日Robot 机器人论文速览 第四十五期】Mon, 2 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Mon, 2 Oct 2023 Totally 42 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers Learning Decentralized Flocking Controllers with Spatio-Temporal Graph Neural Network Authors Siji Chen, Yanshen Sun, …

守护进程解析

什么是守护进程&#xff1f; - 知乎 什么是守护进程&#xff1a;生存期长的一种进程&#xff0c;没有控制终端。它们常常在系统引导装入时启动&#xff0c;仅在系统关闭时才终止。 进程组 &#xff1a; 每个进程除了有一个进程ID之外&#xff0c;还属于一个进程组进程组是一…

【已解决】opencv 交叉编译 ffmpeg选项始终为NO

一、opencv 交叉编译没有 ffmpeg &#xff0c;会导致视频打不开 在交叉编译时候&#xff0c;发现在 pc 端能用 opencv 打开的视频&#xff0c;但是在 rv1126 上打不开。在网上查了很久&#xff0c;原因可能是 交叉编译过程 ffmpeg 造成的。之前 ffmpeg 是直接用 apt 安装的&am…

LeetCode 周赛上分之旅 #49 再探内向基环树

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架&#xff0c;你的思考越抽象&#xff0c;它能覆盖的问题域就越广&#xff0c;理解难度…

1300*C. Coin Rows(枚举模拟)

解析&#xff1a; 两人都绝对聪明&#xff0c;Alice先走&#xff0c;尽量让Bob所能拿的分数最少&#xff0c;Alice有一次往下走的机会&#xff0c;剩余没走过的点正好分为两断断开的区域&#xff0c;所以Bob的最大分数要么在第一格向下或者在最后一列向下。 遍历区间&#xff0…