python:TypeError:';str';对象不可调用

python:TypeError:';str';对象不可调用,python,typeerror,Python,Typeerror,我试图加载一个包含pickle的二进制文件,该文件在列表中有一条记录,如下所示 import pickle class player_energy_usage(): def __init__(self): self.weapons = 25 elf.shields = 25 self.life_support = 25 self.engines = 25 def p_eu_init(): global p_energy p_energy =

我试图加载一个包含pickle的二进制文件,该文件在列表中有一条记录,如下所示

import pickle
class player_energy_usage():
def __init__(self):
    self.weapons = 25
    elf.shields = 25
    self.life_support = 25
    self.engines = 25

def p_eu_init():
    global p_energy   
    p_energy = []
    player_ship_energy = player_energy_usage()
    p_energy.append(player_ship_energy)
    pickle.dump(p_energy,open('p_energy.dat','wb'))

p_eu_init()
pickle.load('rb'('p_energy.dat'))
print('Weapons are using {0}% of energy'.format(p_energy[0].weapons))
print('Shields are using {0}% of energy'.format(p_energy[0].shields))
print('Life Support is using {0}% of energy'.format(p_energy[0].life_support))
print('Engines is using {0}% of energy'.format(p_energy[0].engines))
但是我得到一个类型错误

Traceback (most recent call last):
File "E:/Python texted based game/Tests/file loading test.py", line 18, in <module>
pickle.load('rb'('p_energy.dat'))
TypeError: 'str' object is not callable
回溯(最近一次呼叫最后一次):
文件“E:/Python基于文本的游戏/Tests/File loading test.py”,第18行,在
pickle.load('rb'('p_energy.dat'))
TypeError:“str”对象不可调用

谢谢你的帮助。

这不是正确的语法。它应该是:

p_energy = pickle.load(open('p_energy.dat', 'rb'))
你实际上在做的是:


'rb'('p_energy.dat')
试图调用
str
对象
'rb'
,参数为
'p_energy.dat'
,这就是为什么出现错误
'str'对象不可调用的原因,语法不正确。它应该是:

p_energy = pickle.load(open('p_energy.dat', 'rb'))
你实际上在做的是:


'rb'('p_energy.dat')
试图调用
str
对象
'rb'
,参数为
'p_energy.dat'
,这就是为什么出现错误
'str'对象不可调用的原因。

您希望
'rb'('p_energy.dat')
做什么?您希望
'rb'('p_energy.dat')
做什么
该怎么办?