Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีแชร์ข้อมูลทั่วไประหว่างหลายไฟล์ Python

ไม่สามารถแชร์ข้อมูลระหว่างไฟล์ Python หลายไฟล์ได้โดยตรง ต้องเก็บข้อมูลไว้ที่ภายนอก เช่น ไฟล์ชั่วคราว (temporary files) หรือใช้ networking/socket วิธีง่ายที่สุดคือใช้ไฟล์ร่วมกับโมดูล pickle เพื่อ serialize/deserialize object

ในไฟล์ผู้ผลิต (producer):

producer.py:
import pickle
shared = {"Foo": "Bar", "Parrot": "Dead"}
fp = open("shared.pkl", "wb")
pickle.dump(shared, fp)
fp.close()

ในไฟล์ผู้บริโภค (consumer):

consumer.py:
import pickle
fp = open("shared.pkl", "rb")
shared = pickle.load(fp)
print(shared["Foo"])

หมายเหตุ: ใน Python 3 ต้องเปิดไฟล์ในโหมด binary (wb/rb) สำหรับ pickle