ฉันสงสัยว่ามีวิธีโหลดวัตถุที่ถูกดองใน Python 2.4 ด้วย Python 3.4 หรือไม่
ฉันใช้ 2to3 กับรหัสเดิมของ บริษัท เป็นจำนวนมากเพื่ออัปเดตให้เป็นปัจจุบัน
เมื่อทำสิ่งนี้เสร็จแล้วเมื่อเรียกใช้ไฟล์ฉันได้รับข้อผิดพลาดต่อไปนี้:
File "H:\fixers - 3.4\addressfixer - 3.4\trunk\lib\address\address_generic.py"
, line 382, in read_ref_files
d = pickle.load(open(mshelffile, 'rb'))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1: ordinal
not in range(128)
เมื่อมองไปที่วัตถุดองในการโต้แย้งมันเป็นdict
ใน a dict
ที่มีคีย์และค่าประเภทstr
ที่มีคีย์และค่าประเภท
คำถามของฉันคือ: มีวิธีโหลดวัตถุเดิมที่ดองใน python 2.4 ด้วย python 3.4 หรือไม่?
json
โมดูลหรือไม่ บางทีคุณอาจเขียนสคริปต์ 2.4 ที่ยกเลิกการตรึงวัตถุและบันทึกเป็นวัตถุ json จากนั้นเขียนสคริปต์ 3.4 ที่อ่านวัตถุ json และบันทึกเป็นวัตถุดองที่เข้ากันได้ 3.4 นี่จะเป็นการดำเนินการครั้งเดียวที่คุณเรียกใช้กับไฟล์ดองทั้งหมดของคุณ