Я новичок в Python, и в качестве своего первого проекта я пытаюсь преобразовать скрипт Python2 в Python3.Python3 pickle serialization с Cmd
Сценарий не работает, когда он пытается сериализовать класс, используя pickle.
Кажется, что это неудачно, поскольку я пытаюсь сохранить класс, который использует Cmd CLI.
Этот код работает с использованием Python2.
Может ли кто-нибудь сказать мне, что не так со сценарием и как я его исправлю?
import sys
import cmd
try:
import pickle as pickle
except:
import pickle
import os.path
def main():
app = Labyrinth()
turnfile = "turn0.lwot"
app.Save(turnfile)
class CLI(cmd.Cmd):
def __init__(self):
cmd.Cmd.__init__(self)
class Labyrinth(cmd.Cmd):
def __init__(self):
cmd.Cmd.__init__(self)
def Save(self, fname):
with open(fname, 'wb') as f:
pickle.dump(self,f, 2)
f.close()
print ("Save Successful!")
sys.exit()
if __name__ == '__main__':
main()
Что такое импортный рассол, как рассол, завернутый в попытку/исключение? –
@Turry - я думаю, что это ошибка 'import cPickle as pickle' для python 2. – tdelaney