網站首頁 編程語言 正文
說明:日常工作中,我們經常會遇到這樣的場景:核對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中即可,如下:
執行結果如下:
總結
這只是一種簡單的應用,像其他的,如給一個文件清單,把某文件夾中在這個清單內的文件復制/拷貝出來,沒有的打印出來,也是可以實現的。重要的是要有一種思維,重復的事情交給程序做。
原文鏈接:https://blog.csdn.net/qq_42108331/article/details/134806045
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-05-12 寶塔面板配置SSL證書
- 2022-07-24 Android?Studio工程導入及坑的解決_Android
- 2022-08-10 Go語言反射獲取類型屬性和方法示例_Golang
- 2021-12-10 Ubuntu環境下mongodb安裝配置詳細步驟_MongoDB
- 2022-10-07 C語言直接插入排序算法介紹及示例_C 語言
- 2022-10-29 go語言打包的網頁wasm示例詳解_Golang
- 2022-05-28 解決tomcat啟動?ssm項目出現亂碼的問題_Tomcat
- 2022-06-12 Dockerfile文件編寫及構建鏡像命令解析_docker
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支