Python脚本,没有输出?

时间:2017-08-29 02:19:29

标签: python file-io hash output

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

1 个答案:

答案 0 :(得分:3)

  

def main():       对于sys.argv中的f [1:]:

脚本预期参数。如果你在没有任何参数的情况下运行它,你就看不到任何输出。 主体假设您提供了散列文件列表,但是在硬编码的散列函数中

  

filename ='/Desktop / testfile.txt'

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

  

filename ='/Desktop / testfile.txt'

并运行

var Selected = dgvShow.CurrentRow.DataBoundItem;
var objDynamic = (dynamic)Selected;
Console.WriteLine(objDynamic.idStudent);