Код: Выделить всё
# mymodule.py
import pickle
class MyCustomClass:
def __init__(self):
# some attributes
def main():
with open("file.txt", "w") as f:
f.write(pickle.dumps(MyCustomClass())
Код: Выделить всё
(imymodule
MyCustomClass
p0
(dp1
S'_MyCustomClass__attr1'
...
Код: Выделить всё
with open("file.txt") as f:
result = pickle.load(f)
Я запускаю Python внутри virtualenv, а mymodule.py находится в корневом каталоге проекта.
Вопрос: что я могу сделать, чтобы успешно распаковать объект? Я не возражаю против каких-либо изменений кода, если структура объекта MyCustomClass (атрибуты) останется прежней.
Я попробовал запустить код распаковки:
- из того же файла в if __name__ == "__main__": ...
- из другого файла в том же пакете
- в интерактивной консоли Python, завернутой в функцию
- с использованием python -m mymodule
- из метода MyCustomClass
Подробнее здесь: https://stackoverflow.com/questions/791 ... python-2-7