我有两个目录(下面)我想要比较
左:
C:\Temp\Sync\GUI\config.xml
C:\Temp\Sync\GUI\jobs
C:\Temp\Sync\GUI\jobs\Add
C:\Temp\Sync\GUI\jobs\Add\builds
C:\Temp\Sync\GUI\jobs\Add\config.xml
C:\Temp\Sync\GUI\jobs\Add\builds\legacyIds
C:\Temp\Sync\Risk\jobs\TOP_Deriv_RiskAlgo\builds
C:\Temp\Sync\Risk\jobs\TOP_Deriv_RiskAlgo\config.xml
C:\Temp\Sync\Risk\jobs\TOP_Deriv_RiskAlgo\builds\legacyIds
C:\Temp\Sync\Risk\jobs\TOP_Deriv_RiskCare\builds
C:\Temp\Sync\Risk\jobs\TOP_Deriv_RiskCare\config.xml
C:\Temp\Sync\Risk\jobs\TOP_Deriv_RiskCare\builds\legacyIds
右:
C:\Temp\tmptm4bod\GUI\config.xml
C:\Temp\tmptm4bod\GUI\jobs
C:\Temp\tmptm4bod\GUI\jobs\Add
C:\Temp\tmptm4bod\GUI\jobs\Add\builds
C:\Temp\tmptm4bod\GUI\jobs\Add\config.xml
C:\Temp\tmptm4bod\GUI\jobs\Add\builds\legacyIds
C:\Temp\tmptm4bod\Newfolder\config.xml
C:\Temp\tmptm4bod\Newfolder\jobs
C:\Temp\tmptm4bod\Newfolder\jobs\Deriv_Amend
C:\Temp\tmptm4bod\Newfolder\jobs\Deriv_Amend\builds
C:\Temp\tmptm4bod\Newfolder\jobs\Deriv_Amend\config.xml
C:\Temp\tmptm4bod\Newfolder\jobs\Deriv_Amend\builds\legacyId
当我进行比较时,会列出右边的'NewFolder'目录,但不会列出其中的文件,我不明白。
syncdStoredJobs = os.path.join(workspace, "storedJobs")
comparisonDiff = filecmp.dircmp(syncdStoredJobs, cleanJobsDir, [], [])
我错过了什么吗?
答案 0 :(得分:1)
根据docs,dircmp只会递归到公共目录中,并且只有你告诉它。
如果一个子目录只存在于一侧,那么它的内容也是如此。
有可能构建一个使用dircmp来执行您想要的实用程序功能。基本上只需查找仅存在于一侧的目录,然后再进行操作。