【发布时间】:2017-12-08 12:35:28
【问题描述】:
我有一些目录和文件
Directory1
file1
file2
file3
Directory2
file1
file2
file3
我想比较每个目录中的每个文件。
我试过了
'glob.glob'
和
'读取 csv'
我想我应该申请了
'差异' 方法。
但我想不出下一步。 如何比较每个目录中的同名文件?
【问题讨论】:
我有一些目录和文件
Directory1
file1
file2
file3
Directory2
file1
file2
file3
我想比较每个目录中的每个文件。
我试过了
'glob.glob'
和
'读取 csv'
我想我应该申请了
'差异' 方法。
但我想不出下一步。 如何比较每个目录中的同名文件?
【问题讨论】:
您可以在 dict 中生成文件内容的 md5 校验和并搜索等于校验和。
import glob
import hashlib
example = dict(('%s' % _, hashlib.md5(open('%s' % _, 'rb').read()).hexdigest()) for _ in glob.glob('*'))
{'file1': 'b026324c6904b2a9cb4b88d6d61c81d1', 'file2': '26ab0db90d72e28ad0ba1e22ee510510', 'file3': '26ab0db90d72e28ad0ba1e22ee510510', 'file4': '48a24b70a0b376535542b996af517398'}
【讨论】:
你能详细说明一下比较是什么意思吗?
为了得到你目录中的文件列表,你可以使用os.listdir('directory_path'),然后你可以遍历列表并与你的参考文件进行比较。
另外,这个link 告诉你如何比较pandas 中两个数据框的内容。
【讨论】:
如果您可以读取 csv 文件并转换为数据帧,那么这个 link 可能会有用
【讨论】: