如何使用Python核对文件夹内的文件

说明:日常工作中,我们经常会遇到这样的场景:核对A、B文件夹中文件的差异,找出A、B文件夹中不同部分的文件;

本文介绍如何使用Python来实现;

第一步:获取文件清单

首先,我们要获取到两个文件夹的所有文件名清单,这里假设A、B文件夹里面放的都是文件夹,没有多级目录。

在这里插入图片描述

如上,A、B文件夹大部分文件都是同名的,只有部分文件有差异;

获取文件夹内的文件清单,有两种方法:

  • 第一种:在目录内打开CMD,敲dir,把文件名案按列选中,复制下来;

在这里插入图片描述

有一种快一点的办法,可以不用按住拖动,选择左上角的字符,按shift选中,然后就可以松开了,再拉动滚动条到右下角的字符,按住shift + alt,再点一下字符。就可以选中这一块的内容。

在这里插入图片描述

  • 第二种:第一种方式,在文件量巨大的时候,命令窗口可能会打印很久,而且还会清除上面的信息,找不到开头的内容。这时,可以输入下面这行CMD命令,表示把当前目录的文件信息打印到1.txt文件里;
dir > 1.txt

生成文件后,就可以随便操作了。

在这里插入图片描述

最终,我们可以得到两个文件夹内所有的文件清单,如下:

在这里插入图片描述

注意:文件内可能有一些空白字符,需要选中空白字符,然后将空白字符替换成空;

在这里插入图片描述

最后,再按列在文件前面添加一个英文单引号(‘),文件末尾添加一个英文单引号+英文逗号(’,),去掉末尾的英文逗号。

建议使用shfit + alt的方式来按列选中,比较方便。

在这里插入图片描述

另外,如果文件名长度不一,可以使用正则表达式的查找模式。首先分析,我们需要在每行的末尾,换行前加上英文单引号 + 英文逗号(‘,),换行后在行首加上英文单引号(’),可以按照下面这样替换。这种方式需要ctrl + a,全选之后再替换。

在这里插入图片描述

第二步:编写程序

有了各自文件夹的文件清单,写一个Python脚本,对这两部分文件清单进行遍历判断,输出对应的文件名即可;

# 文件夹A的文件清单
list1 = []# 文件夹B的文件清单
list2 = []print("文件夹A中,但不在文件夹B中的文件:")
for i in list1:if i not in list2:print('【' + i + '】')print("==============================================")print("文件夹B中,但不在文件夹A中的文件:")
for i in list2:if i not in list1:print('【' + i + '】')

然后将文件清单复制到各自的list中即可,如下:

在这里插入图片描述

执行结果如下:

在这里插入图片描述

总结

这只是一种简单的应用,像其他的,如给一个文件清单,把某文件夹中在这个清单内的文件复制/拷贝出来,没有的打印出来,也是可以实现的。重要的是要有一种思维,重复的事情交给程序做。

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

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

相关文章

Navicat 与 华为云 GaussDB 合作再升级,赋能 GaussDB 分布式数据库

2023 年第三季度,Navicat 首次支持了华为云 GaussDB 主备版数据库。经过双方团队进一步的深化合作,Navicat 完成了 GaussDB 分布式的研发适配工作,赋能 GaussDB 全域数据库产品。 GaussDB 数据库分为主备版和分布式版两种模式。主备版适用于…

Spingboot 之spring-boot-starter-parent与spring-boot-dependencies区分

在创建spring boot工程时,spring-boot-starter-parent 和 spring-boot-dependencies是二选一的关系,在pom中引入其中一个就可以了。 那么什么时候用spring-boot-starter-parent 和 spring-boot-dependencies呢?从字面名称上看,如…

履带吊,笔记

0.前言 履带吊使用了与传统的门桥式起重机不同的技术路线。因为它是移动式设备,所以它的动力是燃油发动机。为了精确调控升降。它的整套动力系统似乎采用了某种液压传动系统。履带吊国内也有生产商。但是下文中,还是从国外的一款产品说起。这款产品的pd…

java面试题-Dubbo和openFeign怎么选择,优劣

远离八股文,面试大白话,通俗且易懂 看完后试着用自己的话复述出来。有问题请指出,有需要帮助理解的或者遇到的真实面试题不知道怎么总结的也请评论中写出来,大家一起解决。 java面试题汇总-目录-持续更新中 面试官:你在…

台灯护眼灯怎么挑选?考公必备护眼台灯推荐

台灯作为日常生活中比较常用的桌面照明工具,不管是上班族熬夜加班,还是学生党用于学习、备考都离不开它的身影。但是如何挑选一盏光源舒适的台灯,相信是很多小伙伴最为烦恼的一个问题!如果使用了一款质量不好,光源不达…

排序:直接插入排序希尔排序

目录 排序: 概念: 直接插入排序: 代码的实现: 代码解析: 总结: 希尔排序: 代码实现: 预排序: 代码优化: gap 的 本质 : 直接…

【每日一题】最小化旅行的价格总和

文章目录 Tag题目来源题目解读解题思路方法一:深搜动态规划 写在最后 Tag 【深搜动态规划】【树】【2023-12-06】 题目来源 2646. 最小化旅行的价格总和 题目解读 有一棵无向、无根的树,树中的节点从 0 到 n-1,每个节点有一个关联的价格&a…

这款IDEA插件真的爱了

前言 Idea 是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序,Idea 还具有许多插件和扩展,可以根据开发人员的需要进行定制和扩展,从而提高开发效率,今天我们就来介绍一款…

基于c++版本的数据结构改-python栈和队列思维总结

##栈部分-(叠猫猫) ##抽象数据类型栈的定义:是一种遵循先入后出的逻辑的线性数据结构。 换种方式去理解这种数据结构如果我们在一摞盘子中取到下面的盘子,我们首先要把最上面的盘子依次拿走,才可以继续拿下面的盘子&…

Postman可以卸载了!这款IDEA插件太好用了!

Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:Apipost Helper,写完代码就可以调试接口并一键生成接口文档!而且还…

JIRA 禁用用户自动登录

概述 当用户登录 JIRA 时,他们可以通过在单击“Log In”按钮之前选中“Remember my login”复选框,让 JIRA 记住他们的登录信息。这样做之后,“Remember my login”令牌将由 JIRA 服务器存储,并且系统会在用户的浏览器中设置包含…

智能优化算法应用:基于学生心理学算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于学生心理学算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于学生心理学算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.学生心理学算法4.实验参数设定5.算法结果…

gitLab创建新项目

1.进入git2.选择创建项目3.勾选生成readme.md文件4.邀请成员

C //例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。

C程序设计 (第四版) 谭浩强 例10.1 例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。 IDE工具:VS2010 Note: 使用不同的IDE工具可能有部分差异。 代码块 方法:使用指针&…

第一篇:MongoDB的安装、启动、关闭、链接shell

目录 简介 安装 安装遇到的问题 查看brew 当前使用的源: 更换brew 源。更换成清华大学镜像源 版本查看 MongoDB 数据目录与日志目录 启动方式一: 启动MongoDB 验证MongoDB 是否正常运行 停止或重新启动 停止MongoDB 服务 重新启动MongoDB服…

身为 Go 程序员,我为啥更喜欢用 Zig?

Zig 是一种比较新的编程语言,于 2016 年首次推出。Zig 社区将其描述为“一种用于维护稳固的、可优化和可重用软件的通用编程语言”。 看似一句简单的描述,却隐藏着远大的抱负。Zig被看作是可与C语言一较高下的编程语言。此外,Zig 也是一个编…

Python自动化测试selenium操作下拉列表实现

处理下拉列表需要使用selenium中的工具类Select,常用方法如下: 示例网站:Sahi Tests 示例场景:打开Sahi Tests页面, (1)点击“Select Test”页面,鼠标点击页面中第一个下拉列表。 …

Git版本管理配置说明 - Visual Studio

一、 Git服务端配置 在源代码管理服务器新建文件夹,并配置共享访问权限Everyone(读取/写入)。 在本地访问这台服务器共享目录,确保正确打开。 在VS中打开项目,点选Git更改,点击“创建Git仓库”,创建项目初始版本。 弹出如下对话框: 因为我们只是在局域网中开发项…

LeetCode题:931下降路径最小和

目录 一、题目要求 二、解题思路 (1)状态表示 (2)状态转移方程 (3)初始化 (4)填表顺序 (5)返回值 三、代码 一、题目要求 931. 下降路径最小和 给你…

Web测试中文件上传测试

总体情况 功能实现: (1)文件类型正确、大小合适。 (2)文件类型正确,大小不合适。 (3)文件类型错误,大小合适。 (4)文件类型和大小都合适&#xff…