小编Ben*_*ron的帖子

仅比较文件/文件夹名称上的目录,打印任何差异?

如何递归比较两个目录(比较应仅基于文件名)并仅在一个或另一个目录中打印文件/文件夹?

我正在使用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上搜索了类似的内容.我看到很多关于如何比较考虑文件内容的文件的例子,但我找不到任何关于文件名的内容.

python comparison directory-structure python-3.3

2
推荐指数
1
解决办法
6252
查看次数