আমি pickle
মডিউলটি ব্যবহার করে অবজেক্টগুলি সংরক্ষণ এবং লোড করার চেষ্টা করছি ।
প্রথমে আমি আমার জিনিসগুলি ঘোষণা করি:
>>> class Fruits:pass
...
>>> banana = Fruits()
>>> banana.color = 'yellow'
>>> banana.value = 30
এর পরে আমি 'ফ্রুটস.ওবজ' নামে একটি ফাইল খুলি (এর আগে আমি একটি নতুন .txt ফাইল তৈরি করেছি এবং আমি নামকরণ করেছি 'ফলস.ওবজ'):
>>> import pickle
>>> filehandler = open(b"Fruits.obj","wb")
>>> pickle.dump(banana,filehandler)
এটি করার পরে আমি আমার অধিবেশনটি বন্ধ করে দিয়েছি এবং আমি একটি নতুন শুরু করেছি এবং আমি পরবর্তীটি রেখেছি (যে বস্তুটি এটি সংরক্ষণ করা উচিত বলে অ্যাক্সেস করার চেষ্টা করছি):
file = open("Fruits.obj",'r')
object_file = pickle.load(file)
তবে আমার এই বার্তাটি রয়েছে:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python31\lib\pickle.py", line 1365, in load
encoding=encoding, errors=errors).load()
ValueError: read() from the underlying stream did notreturn bytes
আমি কী করতে হবে তা জানি না কারণ আমি এই বার্তাটি বুঝতে পারি না। কেউ কি জানেন যে আমি কীভাবে আমার বস্তু 'কলা' লোড করতে পারি? ধন্যবাদ!
সম্পাদনা: আপনারা কেউ কেউ sugested হিসাবে আমি রেখেছি:
>>> import pickle
>>> file = open("Fruits.obj",'rb')
কোনও সমস্যা ছিল না, তবে পরবর্তীটি আমি রেখেছিলাম:
>>> object_file = pickle.load(file)
এবং আমার ত্রুটি রয়েছে:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python31\lib\pickle.py", line 1365, in load
encoding=encoding, errors=errors).load()
EOFError