כיצד לכבוש אובייקטים בפייתון

How Pickle Objects Python



ניתן לסדר ולנתח את כל הנתונים ב- Python באמצעות מודול JSON ו- Pickle. לפני שמירת הנתונים בקובץ, אובייקטים של פייתון מסודרים באמצעות סדרת פיקסל. אובייקטים של פייתון מומרים לזרמי תווים באמצעות מודול זה. כאשר המשתמש רוצה לאחזר את נתוני הקובץ לשימוש בסקריפט פייתון אחר, נתוני הקובץ מסולקים על ידי מודול פיקל. התכונות של מודול מלפפונים וכיצד ניתן להשתמש במודול זה בתסריט פייתון לסידור והסרת ריאליזציה מתוארות במדריך זה.

תכונות מלפפון חמוץ:

  • הוא נועד בעיקר לשימוש עבור סקריפט פייתון.
  • הוא משמש לשמירת אובייקטים של פייתון בין התהליכים.
  • הוא עוקב אחר כל האובייקטים המסודרים והאובייקט שבסדרה לפני כן לא יסדר שוב.
  • זה יכול לשמור ולשחזר מופע מחלקה בשקיפות.
  • זה לא בטוח לשימוש. לכן, לא עדיף לבטל נתונים ממיקור לא ידוע.

dump () לסידור:

הפונקציה dump () משמשת להמרת נתוני האובייקט לזרם תווים לפני שמירה בקובץ. פונקציה זו יכולה להכיל שלושה ארגומנטים. שני הטיעונים הראשונים הם חובה והטענה האחרונה היא אופציונלית. הארגומנט הראשון לוקח אובייקט נתונים שצריך לסדר אותו. הארגומנט השני לוקח את אובייקט מטפל הקבצים של אותו הקובץ שבו הנתונים המאוחסנים יישמרו. הארגומנט האחרון לוקח את שם הפרוטוקול.







תחביר:



מזבלה(data_object,קובץ_אובייקט, [נוהל])

load () לניתוק מחדש:

הפונקציה load () משמשת להמרת נתוני זרם תווים מהקובץ לאובייקט Python. פונקציה זו מכילה רק ארגומנט אחד ואובייקט מטפל הקבצים של הקובץ עובר כערך הארגומנט שממנו הנתונים יוחזרו.



תחביר:





לִטעוֹן(קובץ_אובייקט)

כבשו אובייקט פשוט לאחסון בקובץ

צור קובץ בשם pickle1.py עם סקריפט הפיתון הבא. בסקריפט הבא, אובייקט נתונים בשם dataObject מוכרז לאחסן חמישה שמות שפה על ידי איטרציה של לולאת ה- for. לאחר מכן, שיטת open () משמשת להקצאת מטפל קבצים ליצירת קובץ בינארי בשם שפות. מזבלה() הפונקציה משמשת כאן לסידור הנתונים של dataObject ולאחסן אותו ב שפות קוֹבֶץ. אם הסידוריזציה תתבצע כראוי אז תודפס הודעה, הנתונים מסודרים.

# ייבא את מודול החמוצים
יְבוּא מלפפון חמוץ

# הצהירו על האובייקט לאחסון נתונים
dataObject= []

# חזור על לולאת ה- for 5 פעמים וקח שמות שפה
לנב טווח(5):
גלם= קֶלֶט('הזן שם שפה:')

dataObject.לְצַרֵף(גלם)

# פתח קובץ לכתיבת נתונים
מטפל_קובץ= לִפְתוֹחַ('שפות', 'wb')

# זרוק את נתוני האובייקט לקובץ
מלפפון חמוץ.מזבלה(dataObject,מטפל_קובץ)

# סגור את מטפל הקבצים כדי לשחרר את המשאבים
מטפל_קובץ.סגור()

# הדפס הודעה
הדפס('הנתונים מסודרים')

תְפוּקָה:



לאחר הפעלת התסריט, יידרשו חמישה שמות שפות כקלט.

בטל את הנתונים מהקובץ

פרוק הנתונים הוא ההפך מנתונים כבושים. צור קובץ בשם pickle2.py עם סקריפט הפיתון הבא. פה, לִפְתוֹחַ() שיטה משמשת לפתיחת הקובץ הבינארי בשם שפות , שנוצר בדוגמה הקודמת. לִטעוֹן() הפונקציה משמשת לביטול הערכים של הנתונים מהקובץ ושמירתם במשתנה dataObject . הַבָּא, ל לולאה משמש לאיטרציה של הנתונים מתוך dataObject ולהדפיס במסוף.

# ייבא את מודול החמוצים
יְבוּא מלפפון חמוץ

# פתח מטפל קבצים לקריאת קובץ שממנו הנתונים יטענו
מטפל_קובץ= לִפְתוֹחַ('שפות', 'rb')

# טען את הנתונים מהקובץ לאחר עריכה מחדש
dataObject= מלפפון חמוץ.לִטעוֹן(מטפל_קובץ)

# סגור את מטפל הקבצים
מטפל_קובץ.סגור()

# הדפס הודעה
הדפס('נתונים לאחר ניתוק מחדש')

# חזור על הלולאה כדי להדפיס את הנתונים לאחר עריכה מחדש
לשעותבdataObject:
הדפס('ערך הנתונים:',שעות)

תְפוּקָה:

הפלט הבא יופיע לאחר הפעלת התסריט.

כבוש אובייקט מחלקה לקובץ

כיצד ניתן לכבוש אובייקט מחלקה מוצג בדוגמה הבאה. צור קובץ בשם pickle3.py עם התסריט הבא. פה, עוֹבֵד class מוכרז להקצות שלושה ערכי נתונים של עובד. לאחר מכן, נקרא אובייקט של מטפל קבצים fileHandler נוצר כדי לפתוח קובץ לכתיבה. לאחר אתחול אובייקט המחלקה, הנתונים מסודרים באמצעות מזבלה() פונקציה ומאוחסנים בקובץ בשם עובדי נתונים . אם הקובץ ייווצר כהלכה, ההודעה, הנתונים מסודרים תדפיס.

# ייבא מודול מלפפון חמוץ
יְבוּא מלפפון חמוץ

# הצהירו על כיתת העובדים לאחסן את הערך
מעמדעוֹבֵד:
def __init__(עצמי,שֵׁם, אימייל,הודעה):
עצמי.שֵׁם =שֵׁם
עצמי.אימייל = אימייל
עצמי.הודעה =הודעה

#צור אובייקט עובדים
empObject=עוֹבֵד('Farheen', '[מוגן בדוא'ל]', 'מנהל')

# פתח קובץ לנתוני החנות
fileHandler= לִפְתוֹחַ('עובדי נתונים', 'wb')

# שמור את הנתונים בקובץ
מלפפון חמוץ.מזבלה(empObject,fileHandler)

# סגור את הקובץ
fileHandler.סגור()

# הדפס הודעה
הדפס('הנתונים מסודרים')

תְפוּקָה:

הפלט הבא יופיע לאחר הפעלת התסריט.

בטל את הנתונים לאובייקט Class

מחלקה עם המאפיינים והשיטות הדרושים תדרוש הצהרת אחזור הנתונים מקובץ לאובייקט מחלקה. צור קובץ בשם pickle4.py עם הקוד הבא. עוֹבֵד class מוגדרת כאן לאחזור הנתונים. fileObject משתנה משמש לפתיחת הקובץ, עובדי נתונים לקריאה. הַבָּא, לִטעוֹן() הפונקציה משמשת לאחסון הנתונים באובייקט המחלקה לאחר עריכה מחדש. לְהַצִיג() הפונקציה של עוֹבֵד class נקרא להדפיס את ערכי הנתונים של אובייקט המחלקה.

# ייבא מודול מלפפון חמוץ
יְבוּא מלפפון חמוץ

# הצהירו על כיתת העובדים לקרוא ולהדפיס נתונים מקובץ
מעמדעוֹבֵד:
def __init__(עצמי,שֵׁם, אימייל,הודעה):
עצמי.שֵׁם =שֵׁם
עצמי.אימייל = אימייל
עצמי.הודעה =הודעה

defלְהַצִיג(עצמי):
הדפס('מידע על העובדים:')
הדפס('שם:', עצמי.שֵׁם)
הדפס('אימייל :', עצמי.אימייל)
הדפס('הודעה :', עצמי.הודעה)

# פתח את הקובץ לקריאה
fileObject= לִפְתוֹחַ('עובדי נתונים', 'rb')

# בטל את מחסור הנתונים
עוֹבֵד= מלפפון חמוץ.לִטעוֹן(fileObject)

# סגור קובץ
fileObject.סגור()

#הדפס את מסגרת הנתונים
עוֹבֵד.לְהַצִיג()

תְפוּקָה:

הפלט הבא יופיע לאחר הפעלת התסריט.

סיכום

מודול Pickle הוא תכונה שימושית של פייתון לסידור ועריכה מחדש של נתונים. לאחר השלמת הדוגמאות המוצגות במדריך זה, העברת הנתונים מסקריפט פייתון לסקריפט פייתון אחר תהיה קלה יותר עבור כל אחד.