【发布时间】:2017-08-29 02:19:28
【问题描述】:
我编写了一个简单的 python 脚本来散列文件并输出结果。但是,当我运行脚本(python scriptname.py)时,我没有得到任何输出(预计它会打印校验和)。我也没有从控制台收到任何错误。
我做错了什么?
#!/usr/bin/env python
import hashlib
import sys
def sha256_checksum(filename, block_size=65536):
sha256 = hashlib.sha256()
filename = '/Desktop/testfile.txt'
with open(filename, 'rb') as f:
for block in iter(lambda: f.read(block_size), b''):
sha256.update(block)
return sha256.hexdigest()
def main():
for f in sys.argv[1:]:
checksum = sha256_checksum(f)
print(f + '\t' + checksum)
if __name__ == '__main__':
main()
【问题讨论】:
-
您还期待什么其他输出?究竟是什么不工作?
-
我希望文件的校验和/哈希按以下行打印:print(f + '\t' + checksum)
-
哎呀,对不起,将“期望它打印校验和”读作“除了它打印校验和”。
sys.argv[1:]的值是多少?
标签: python file-io hash output