Python脚本,没有输出?

2024-04-20 09:15:12 发布

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

我已经编写了一个简单的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()

Tags: 文件inpyimport脚本forsizemain
1条回答
网友
1楼 · 发布于 2024-04-20 09:15:12

def main(): for f in sys.argv[1:]:

脚本需要参数。如果不带任何参数运行它,则不会看到任何输出。 主体假设您提供了用于哈希的文件列表,但是在哈希函数中您是硬编码的

filename = '/Desktop/testfile.txt'

因此,如果您想将文件作为脚本参数传递给散列函数请删除该行

filename = '/Desktop/testfile.txt'

然后跑

python scriptname.py '/Desktop/testfile.txt'

相关问题 更多 >