您好我尝试生成genesis文件,但收到此错误:
C:\Python34>python mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c837
0e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json
File "mk_genesis_block.py", line 293
print json.dumps(evaluate(), indent=4)
^
SyntaxError: invalid syntax
编辑: 这是周围的行:
if __name__ == '__main__':
print json.dumps(evaluate(), indent=4)
然后就是EOF。可以查看整个文件here 由于违规行似乎只是输出,我评论它并得到另一个错误:
C:\Python34>python -tt mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1
c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json
Traceback (most recent call last):
File "mk_genesis_block.py", line 124, in <module>
EXTRADATA = (d[2:] if d[:2] == '0x' else d).decode('hex')
AttributeError: 'str' object has no attribute 'decode'
与其他错误一起让我想知道是否正在操作字符串而不是json对象?这是整个arg解析部分:
# Grab the extra data command line argument
if '--extradata' in sys.argv:
d = (sys.argv+[None])[sys.argv.index('--extradata') + 1]
EXTRADATA = (d[2:] if d[:2] == '0x' else d).decode('hex')
else:
EXTRADATA = ''
我还制作了一个导入json包的测试文件,转储和解码方法工作。
答案 0 :(得分:1)
print
是一个方法而不是语句print( "text" )
...我相信在{3}中删除了str.decode
...而是使用codecs.decode(my_str,encoding)