以太坊生成genesis Python语法

2024-04-26 13:01:08 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我试图生成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

编辑: 以下是周围的线条:

^{pr2}$

那就是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包的测试文件,dumps和decode方法可以工作。在


Tags: 文件pyjsongenesisif错误sysline
1条回答
网友
1楼 · 发布于 2024-04-26 13:01:08

python3中的print是一个方法而不是一个语句print( "text" )。。。我也相信str.decode在Python3中被移除了。。。而是使用codecs.decode(my_str,encoding)

相关问题 更多 >