相关疑难解决方法(0)

如何使用Python找到ISO文件的MD5哈希?

我正在编写一个简单的工具,允许我快速检查下载的ISO文件的MD5哈希值.这是我的算法:

import sys
import hashlib

def main():
    filename = sys.argv[1] # Takes the ISO 'file' as an argument in the command line
    testFile = open(filename, "r") # Opens and reads the ISO 'file'

    # Use hashlib here to find MD5 hash of the ISO 'file'. This is where I'm having problems
    hashedMd5 = hashlib.md5(testFile).hexdigest()

    realMd5 = input("Enter the valid MD5 hash: ") # Promt the user for the valid MD5 hash

    if (realMd5 == hashedMd5): # Check if valid
        print("GOOD!") …
Run Code Online (Sandbox Code Playgroud)

python iso md5 hashlib

3
推荐指数
1
解决办法
1625
查看次数

Python gzip 省略原始文件名和时间戳

伙计们,我正在生成一个 gzip 文件的 md5sum。从技术上讲,每次压缩相同的文件,但产生的 md5sum 是不同的。我如何告诉它使用-n标志来省略原始文件名和时间戳?

f_in = open(tmpFile, 'rb')
f_out = gzip.open(uploadFile, 'wb')
f_out.writelines(f_in)
f_out.close()
f_in.close()
Run Code Online (Sandbox Code Playgroud)

谢谢!

python gzip md5sum

3
推荐指数
1
解决办法
1147
查看次数

如何在Python中检查两个文件(字符串和文件)是否具有相同的内容?

我是Python的新手并且有疑问.如何在Python中检查两个文件(字符串和文件)是否具有相同的内容?我需要下载一些东西并重命名,但我不想用两个或更多不同的名称保存相同的东西(相同的东西可以在不同的IP地址).

python python-3.x

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

Python和其他文件哈希之间的MD5哈希差异

我一直在使用Python进行一些编程(仍然是n00b)并且遇到了一些奇怪的事情.我做了一个小程序来查找在命令行传递给它的文件名的MD5哈希值.我用了一个功能,我发现这里的SO.当我对文件运行它时,我得到一个哈希"58a ... 113".但是当我在\ Python26\Tools\Scripts \中运行Microsoft的FCIV或md5sum.py时,我得到一个不同的哈希,"591 ... ae6".脚本中md5sum.py的实际散列部分是

m = md5.new()
while 1:
    data = fp.read(bufsize)
    if not data:
        break
    m.update(data)
out.write('%s %s\n' % (m.hexdigest(), filename))
Run Code Online (Sandbox Code Playgroud)

这看起来在功能上与其他答案中给出的函数中的代码相同......我缺少什么?(这是我第一次发布到stackoverflow,如果我做错了,请告诉我.)

python hash md5

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

Python IOError 虽然有很多但无法分配内存

我编写了一个基本程序来检查包含许多 jpeg 文件(500000+)的目录树,验证它们没有损坏(大约 3-5% 的文件似乎以某种方式损坏),然后对文件(即使是损坏的文件)并将信息保存到数据库中。

有问题的 jpeg 文件位于 windows 系统上,并通过 cifs 安装在 linux box 上。它们的大小大多在 4 兆字节左右,尽管有些可能稍大或稍小。

当我运行该程序时,它似乎工作得很好一段时间,然后它因以下错误而失败。这是在它处理了大约 1100 个文件之后(错误表明问题发生在尝试打开 4.5 兆的文件时)。

现在我明白我可以捕获这个错误并继续或重试等,但我很好奇为什么它首先发生,如果捕获和重试实际上可以解决问题 - 或者它会卡在重试中(除非我当然限制重试但随后会跳过一个文件)。

我在 debian 系统上使用“Python 2.7.5+”来运行它。系统至少有 4 Gig(可能是 8 个)的 ram,并且 top 报告脚本在运行时的任何时候都使用不到 1% 的 ram 和不到 3% 的 cpu。同样,此脚本运行的 jpeginfo 也使用同样少量的内存和 CPU。

为了避免在读取文件时使用太多内存,我采用了本回答中给出的另一个问题的方法:https : //stackoverflow.com/a/1131255/289545

此外,您可能会注意到“jpeginfo”命令在寻找“[OK]”响应的 while 循环中。这是因为如果“jpeginfo”认为它找不到文件,它会返回 0,因此 subprocess.check_output 调用不会将其视为错误状态。

我确实想知道 jpeginfo 在第一次尝试时似乎无法找到某些文件的事实是否可能相关(我怀疑是这样),但返回的错误表示无法分配内存而不是文件未找到。

错误:

Traceback (most recent call last):
  File "/home/m3z/jpeg_tester", line 95, in <module>
    main()
  File "/home/m3z/jpeg_tester", line 32, in __init__
    self.recurse(self.args.dir, self.scan) …
Run Code Online (Sandbox Code Playgroud)

python ioerror

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

标签 统计

python ×5

md5 ×2

gzip ×1

hash ×1

hashlib ×1

ioerror ×1

iso ×1

md5sum ×1

python-3.x ×1