如何递归比较两个目录(比较应仅基于文件名)并仅在一个或另一个目录中打印文件/文件夹?
我正在使用Python 3.3.
我见过这个filecmp模块,然而,它似乎并没有完全符合我的需要.最重要的是,它不仅仅基于文件名来比较文件.
这是我到目前为止所得到的:
import filecmp
dcmp = filecmp.dircmp('./dir1', './dir2')
dcmp.report_full_closure()
Run Code Online (Sandbox Code Playgroud)
dir1 看起来像这样:
dir1
- atextfile.txt
- anotherfile.xml
- afolder
- testscript.py
- anotherfolder
- file.txt
- athirdfolder
Run Code Online (Sandbox Code Playgroud)
而且dir2看起来是这样的:
dir2
- atextfile.txt
- afolder
- testscript.py
- anotherfolder
- file.txt
- file2.txt
Run Code Online (Sandbox Code Playgroud)
我希望结果看起来像:
files/folders only in dir1
* anotherfile.xml
* athirdfolder
files/folders only in dir2
* anotherfolder/file2.txt
Run Code Online (Sandbox Code Playgroud)
我需要一种简单的pythonic方法来比较两个仅基于文件/文件夹名称的指令,并打印出差异.
另外,我需要一种方法来检查目录是否相同.
注意:我已经在stackoverflow和google上搜索了类似的内容.我看到很多关于如何比较考虑文件内容的文件的例子,但我找不到任何关于文件名的内容.