我已经编写了一个简单的python脚本来散列文件并输出结果。但是,当我运行脚本(python脚本名.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()
脚本需要参数。如果不带任何参数运行它,则不会看到任何输出。 主体假设您提供了用于哈希的文件列表,但是在哈希函数中您是硬编码的
因此,如果您想将文件作为脚本参数传递给散列函数请删除该行
然后跑
相关问题 更多 >
编程相关推荐