我正在尝试实现哈希函数,这是我的代码:
import BitVector
import glob
path = '/home/vguda/Desktop/.txt'
files=glob.glob(path)
hash = BitVector.BitVector(size = 32)
hash.reset(0)
i = 0
for file in files:
bv = BitVector.BitVector( filename = file )
while 1 :
bv1 = bv.read_bits_from_file(8)
if str(bv1) == "":
break
hash[0:8] = bv1 ^ hash[0:8]
hash >> 8
i = i+1
hash_str = ""
hash_str = str( hash )
text_file = open("/home/vguda/Desktop/result.txt ","w")
text_file.write("Hash Code is %s" %hash_str)
text_file.close()
print hash
print (i)
显示的错误是:
"bash: syntax error near unexpected token `('
答案 0 :(得分:2)
首先,这可能发生在复制和粘贴中,但是你的循环中的缩进都搞砸了,我不确定哪些块会去哪里。
当你在shell中运行时,你需要告诉python运行它:
python myscript.py
或者,将以下行作为程序中的第一行,告诉bash将其作为python程序运行:
#!/usr/bin/python
目前,bash正在尝试将您的python程序作为bash脚本运行,并且显然会遇到语法错误。