আমি পাইথন 3 এ একটি ফাইল ডাম্প করার জন্য আচার ব্যবহার করি এবং পাইথন 2 এ ফাইলটি লোড করতে আমি আচার ব্যবহার করি, ভ্যালুআরআর প্রদর্শিত হয়।
তো, পাইথন 2 আচারে অজগর 3 টি আচার ডাম্প করা ফাইল লোড করা যাবে না?
আমি যদি এটা চাই? কিভাবে করবেন?
আমি পাইথন 3 এ একটি ফাইল ডাম্প করার জন্য আচার ব্যবহার করি এবং পাইথন 2 এ ফাইলটি লোড করতে আমি আচার ব্যবহার করি, ভ্যালুআরআর প্রদর্শিত হয়।
তো, পাইথন 2 আচারে অজগর 3 টি আচার ডাম্প করা ফাইল লোড করা যাবে না?
আমি যদি এটা চাই? কিভাবে করবেন?
উত্তর:
পাইথন in-তে একটি নিম্ন প্রোটোকল সংখ্যা সহ অল্পবিস্তরযুক্ত তথ্যটি আপনার লিখতে হবে Py পাইথন 3 নম্বরটি দিয়ে একটি নতুন প্রোটোকল প্রবর্তন করেছিল 3
(এবং এটি ডিফল্ট হিসাবে ব্যবহার করে), তাই 2
পাইথন 2 দ্বারা পড়তে পারে এমন কোনও মানটিতে ফিরে যেতে ।
protocol
প্যারামিটারটি চেক করুন pickle.dump
। আপনার ফলাফল কোড এর মতো দেখাবে।
pickle.dump(your_object, your_file, protocol=2)
কোনও protocol
পরামিতি নেই pickle.load
কারণ pickle
ফাইলটি থেকে প্রোটোকল নির্ধারণ করতে পারে।
protocols
আপনার ডেটা বাইনারি স্ট্রিমে রূপান্তর করতে আচার বিভিন্ন ব্যবহার করে ।
পাইথন 2 আছে 3 বিভিন্ন প্রোটোকল ( 0
, 1
, 2
) এবং ডিফল্ট 0
।
পাইথন 3 আছে 5 বিভিন্ন প্রোটোকল ( 0
, 1
, 2
, 3
, 4
) এবং ডিফল্ট 3
।
তোমার চেয়ে একটি প্রোটোকল নিম্ন পাইথন 3 নির্দিষ্ট করতে হবে 3
অর্ডার পাইথন 2. ডেটা লোড করতে আপনি নির্দিষ্ট করতে পারেন পাবে মধ্যে protocol
যখন invoking প্যারামিটার pickle.dump
।
5
যা পাইথন ৩.৮ এ প্রবর্তিত হয়েছিল যা পূর্ববর্তী সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ নয়।