我试图编写一个小脚本,打印文件的校验和(使用 https://gist.github.com/Zireael-N/ed36997fd1a967d78cb2 中的一些代码):
import sys
import os
import hashlib
file = '/Users/Me/Downloads/2017-11-29-raspbian-stretch.img'
with open(file, 'rb') as f:
contents = f.read()
print('SHA256 of file is %s' % hashlib.sha256(contents).hexdigest())
但是我收到了以下错误信息:
Traceback (most recent call last):
File "checksum.py", line 8, in <module>
contents = f.read()
OSError: [Errno 22] Invalid argument
我做错了什么?我正在使用macOS High Sierra上的Python 3。
EINVAL
)进行翻译,有可能该错误代码来自于文件系统驱动程序本身(因此可能是其中的一个错误)。通常情况下,对于读取操作而言,EINVAL
表示 fd 号码错误,但这是不寻常的情况,因为 Python 自己控制 fd 号码的正确性。 - myaut