如何将文件路径对应的列表中的校验和与Python操作系统中的文件路径进行比较?

2024-10-02 08:24:47 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将文件路径对应的列表中的校验和与Python操作系统中的文件路径进行比较?在

import os,sys,libxml2

files=[]
sha1s=[]

doc = libxml2.parseFile('files.xml')
for path in doc.xpathEval('//File/Path'):
  files.append(path.content)
for sha1 in doc.xpathEval('//File/Hash'):
  sha1s.append(sha1.content)

for entry in zip(files,sha1s):
  print entry

在文件.xml包含

^{pr2}$

我需要将标记之间的sha1校验和与标记之间指定的文件相对应,与基本操作系统中相同的文件路径进行比较。在


Tags: 文件pathin路径fordocfilesxml
1条回答
网友
1楼 · 发布于 2024-10-02 08:24:47
import hashlib
import libxml2

doc = libxml2.parseFile('files.xml')
filePaths = ["/" + path.content for path in doc.xpathEval('//File/Path')]
xmlDigests = [hash.content for hash in doc.xpathEval('//File/Hash')]

for filePath, xmlDigest in zip(filePaths, xmlDigests):
    with open(filePath) as inFile:
        digester = hashlib.sha1()
        digester.update(inFile.read())
        fileDigest = digester.hexdigest()
        if xmlDigest != fileDigest:
            print "Mismatch for %s (XML: %s, FILESYSTEM: %s)" % (filePath,
                xmlDigest, fileDigest)

相关问题 更多 >

    热门问题