আমি পাইথন 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যা পাইথন ৩.৮ এ প্রবর্তিত হয়েছিল যা পূর্ববর্তী সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ নয়।