0

嗨,我尝试生成 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。整个文件可以在这里查看 由于违规行似乎只是输出,我评论它并得到另一个错误:

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 包、转储和解码方法的测试文件。

4

1 回答 1

1

print在 python3 中是一种方法而不是语句print( "text" )......我也相信str.decode在 python3 中被删除......而不是使用codecs.decode(my_str,encoding)

于 2015-08-06T16:05:39.647 回答