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

2023-12-05 23:45
文章标签 python 使用 文件夹 核对

本文主要是介绍如何使用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中即可,如下:

在这里插入图片描述

执行结果如下:

在这里插入图片描述

总结

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

这篇关于如何使用Python核对文件夹内的文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/459600

相关文章

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,