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

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


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

ในไฟล์ที่คุณต้องการเขียนวัตถุจาก -

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

ในไฟล์ที่คุณต้องการใช้วัตถุนี้ -

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