จะบันทึกเซสชัน python ใน QGIS ได้อย่างไร


11

หลังจากรันสคริปต์จำนวนมากในคอนโซล python ของ QGIS ฉันมีพจนานุกรมและรายการมากกว่า 10 รายการและฉันต้องการสิ่งเหล่านี้สำหรับการวิเคราะห์เพิ่มเติม มีวิธีบันทึกเซสชัน python กับตัวแปรเหล่านี้ทั้งหมดหรือไม่

โดยทั่วไปแล้วคำถามของฉันคือฉันจะส่งออกตัวแปรของฉันจากคอนโซลงูเหลือมไปยังบางสิ่งได้อย่างไรเพื่อให้สามารถโหลดตัวแปรเหล่านั้นอีกครั้งในอนาคต

ขอบคุณ

คำตอบ:


14

หากคุณต้องการเข้าถึงผลลัพธ์ของคุณในสคริปต์ Python อื่น ๆ ให้ลองใช้pickleโมดูล

ตัวอย่างง่ายๆ:

>>> a = [1, 2, 3, 4, 5]
>>> import pickle
>>> f1 = open('results.pickle', 'wb')
>>> pickle.dump(a, f1)
>>> f1.close()

ตอนนี้ข้อมูลจะถูกบันทึก ('ดอง') ในresults.pickleไฟล์

ในการโหลดข้อมูลดอง:

>>> f2 = open('results.pickle', 'rb')
>>> b = pickle.load(f2)
>>> b
[1, 2, 3, 4, 5]

pickleซีเรียลไลซ์วัตถุสำหรับใช้ภายใน Python หากคุณต้องการใช้ข้อมูลของคุณร่วมกับโปรแกรมอื่น ๆ ลองใช้jsonโมดูลซึ่งมีอินเตอร์เฟซที่คล้ายกันมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.