Python脚本,没有输出?
我编写了一个简单的python脚本来散列文件并输出结果。但是,当我运行脚本(pythonscriptname.py)时,我没有得到任何输出(期望它打印校验和)。我也没有从控制台得到任何错误 我做错了什么Python脚本,没有输出?,python,file-io,hash,output,Python,File Io,Hash,Output,我编写了一个简单的python脚本来散列文件并输出结果。但是,当我运行脚本(pythonscriptname.py)时,我没有得到任何输出(期望它打印校验和)。我也没有从控制台得到任何错误 我做错了什么 #!/usr/bin/env python import hashlib import sys def sha256_checksum(filename, block_size=65536): sha256 = hashlib.sha256() filename = '/D
#!/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()
def main():
对于sys.argv[1:]中的f:
脚本需要参数。如果在没有任何参数的情况下运行它,则不会看到任何输出。
主体假设您提供了用于散列的文件列表,但在散列函数中您硬编码了
filename='/Desktop/testfile.txt'
因此,如果要将用于哈希的文件作为脚本参数传递,请删除该行
filename='/Desktop/testfile.txt'
跑
python scriptname.py '/Desktop/testfile.txt'
您还希望获得什么其他输出?到底什么不起作用?我希望文件的校验和/哈希按以下行打印:print(f+'\t'+checksum)哇,对不起,将“期望它打印校验和”读为“除了它打印校验和”。
sys.argv[1://code>的值是多少?这很有效,谢谢。也没有引用文件的完整路径。