Python:无法比较两个目录
Python : Unable to compare two directories
我有两个目录(在下面)要比较
左:
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, [], [])
我是不是漏掉了什么?
根据 docs,dircmp 只会递归到公共目录,并且只有在您指定的情况下。
如果一个子目录只存在于一侧,则其内容也是如此。
可以构建一个使用 dircmp 来执行所需操作的实用程序函数。基本上只是寻找只存在于一侧的目录,然后遍历它们。
我有两个目录(在下面)要比较
左:
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, [], [])
我是不是漏掉了什么?
根据 docs,dircmp 只会递归到公共目录,并且只有在您指定的情况下。
如果一个子目录只存在于一侧,则其内容也是如此。
可以构建一个使用 dircmp 来执行所需操作的实用程序函数。基本上只是寻找只存在于一侧的目录,然后遍历它们。