קריאה וכתיבה של קבצים בעזרת פייתון

Reading Writing Files With Python



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

קריאה וכתיבה של קבצים הם פונקציות נפוצות מאוד ב- Python. קל ליצור, לקרוא ולערוך קבצים ב- Python. Python מגיע עם פונקציות מובנות לקריאה וכתיבה של קבצים. אתה יכול לפתוח, לכתוב ולקרוא קבצים באמצעות הפונקציות המובנות של פייתון. פעולות הקובץ מבוצעות ברצף הבא:







  • פתח קובץ
  • לקרוא/לכתוב קובץ
  • סגור את הקובץ

באמצעות Python, אתה יכול ליצור קבצי טקסט וקבצים בינאריים. קבצי טקסט מאחסנים נתונים בצורה של תווים וכל שורה מסתיימת בתו שורה חדשה (' n'). בקבצים בינאריים הנתונים נשמרים בצורה של בתים (1 ו- 0).



במאמר זה תלמד:



  • חלק ממצבי הקבצים השונים ב- Python
  • כיצד לפתוח קובץ
  • כיצד ליצור קובץ
  • כיצד לכתוב נתונים לקובץ
  • כיצד לקרוא קובץ

מצבי קבצים שונים בפייתון

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





מצב תיאור
r פותח את הקובץ במצב קריאה. מצב זה נבחר כברירת מחדל אם אינך מגדיר מצב כלשהו בעת פתיחת הקובץ ב- Python.
ב כותב קובץ. מצב זה יוצר קובץ אם הקובץ אינו קיים כבר ומחליף את הנתונים בקובץ.
r+ משמש לקריאה וכתיבה של הקובץ. הוא מציג שגיאה אם ​​הקובץ אינו קיים.
ל פותח את הקובץ במצב הוספה. ידית הקבצים ממוקמת בסוף הקובץ. מצב זה אינו מחליף את הנתונים הקיימים אך מתחיל לכתוב נתונים בסוף הקובץ. קובץ חדש נוצר אם הקובץ אינו קיים.
א + פותח את הקובץ לקריאה וכתיבה. פעולה זו פותחת את הקובץ במצב הוספה לכתיבה. הנתונים מוכנסים בסוף הקובץ. קובץ חדש נוצר אם הקובץ אינו קיים.
t פותח את הקובץ במצב טקסט.

כיצד לפתוח קובץ

כדי לפתוח קובץ ב- Python, השתמש במובנה לִפְתוֹחַ() פוּנקצִיָה. הפונקציה open () לוקחת שני ארגומנטים כקלט, כלומר שם הקובץ ואופן הפעולה. פונקציה זו מחזירה את אובייקט הקובץ כפלט. אין צורך לייבא כל מודול כדי להשתמש בפונקציה open (). להלן התחביר של הפונקציה open ():

קובץ_אובייקט= לִפְתוֹחַ(שם קובץ,מצב)

כאן, 'שם קובץ' מייצג את שם קובץ הטקסט בפועל, ואילו 'מצב' מייצג את גישת הקובץ או את מצב פעולת הקובץ. תוכל גם למקם r לפני 'שם קובץ', אם שם הקובץ כולל תווים מיוחדים. ה- r ממוקם כדלקמן:



=קובץ_אובייקט= לִפְתוֹחַ(rfile_name,מצב)

לדוגמה, שם הקובץ יכול להיות: F: newfolder myfile.txt

כיצד ליצור קובץ

ניתן להשתמש בפונקציה open () ליצירת קבצים ב- Python. השתמש במצב הוספת (א) בתוך הפונקציה open () ליצירת הקובץ. צור קובץ באמצעות הקוד המופיע להלן:

קוֹבֶץ = לִפְתוֹחַ('sample.txt','ל')

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

קוֹבֶץ.סגור()

הפונקציה המובנית close () משמשת לסגירת הקובץ.

כיצד לכתוב נתונים לקובץ

ישנן שתי פונקציות ב- Python המשמשות לכתיבת נתונים בקובץ:

  1. לִכתוֹב()
  2. כתבים ()

הפונקציה write () משמשת לכתיבת נתונים של שורה אחת או מחרוזת בודדת לקובץ, ואילו הפונקציהritelines () משמשת לכתיבת מספר שורות נתונים לקובץ טקסט. הבה נראה כמה דוגמאות לכתיבת נתונים לקובץ.

שימוש בפונקציית write ()

בדוגמה זו אנו משתמשים בפונקציה write () כדי לכתוב נתונים לקובץ. הקובץ נפתח במצב כתיבה. n ממוקם כדי לציין את סוף השורה.

# יצירת אובייקט קובץ חדש ופתיחת קובץ במצב כתיבה
קוֹבֶץ=לִפְתוֹחַ('sample.txt','ב')
# כתיבת שורה אחת לקובץ

קוֹבֶץ.לִכתוֹב('ברוכים הבאים ל- linuxhint n')
# כתיבת שורה אחת נוספת לקובץ
קוֹבֶץ.לִכתוֹב('ברוך שובך')

#סגירת הקובץ
קוֹבֶץ.סגור()

תְפוּקָה

השורות נכתבו בקבצי הטקסט.

אם נפתח את הקובץ במצב כתיבה ונבקש מפונקציית write () לכתוב שורות נוספות לקובץ, הוא יחליף את הנתונים הקודמים ויתווספו נתונים חדשים לקובץ הטקסט.

# יצירת אובייקט קובץ חדש ופתיחת קובץ במצב כתיבה
קוֹבֶץ=לִפְתוֹחַ('sample.txt','ב')
# כתיבת שורה אחת לקובץ

קוֹבֶץ.לִכתוֹב('שלום לכולם n')
# כתיבת שורה אחת נוספת לקובץ
קוֹבֶץ.לִכתוֹב('זו המחרוזת שהוחלפה')

#סגירת הקובץ
קוֹבֶץ.סגור()

תְפוּקָה

בפלט ניתן לראות שהנתונים הקודמים מוחלפים ומתווספים נתונים חדשים במקומם בקובץ הטקסט.

אם ברצוננו לשמור את הנתונים הקודמים והחדשים בקובץ, נוכל לפתוח את הקובץ במצב הוספה, כך:

# יצירת אובייקט קובץ חדש ופתיחת קובץ במצב הוספה
קוֹבֶץ=לִפְתוֹחַ('sample.txt','ל')
# כתיבת שורה אחת לקובץ

קוֹבֶץ.לִכתוֹב('שלום לכולם n')
# כתיבת שורה אחת נוספת לקובץ
קוֹבֶץ.לִכתוֹב('זו המחרוזת שהוחלפה n')
# כתיבת שורה אחת חדשה חדשה לקובץ
קוֹבֶץ.לִכתוֹב('זו מחרוזת המחרוזת שנוספה לאחרונה n')
#סגירת הקובץ
קוֹבֶץ.סגור()

תְפוּקָה

שימוש בפונקציה כתב ()

הפונקציה כתב () משמשת לכתיבת שורות מרובות בטקסט בבת אחת, כדלקמן:

# יצירת אובייקט קובץ חדש ופתיחת קובץ במצב כתיבה
קוֹבֶץ=לִפְתוֹחַ('file1.txt','ב')
# אחסון נתוני מחרוזות מרובים במשתנה
עמ = ['שלום לכולם n','ברוכים הבאים ל- linuxhint n','אנו משתמשים בפונקציית כתבי הקודש n']
# שימוש בפונקציות כתב כדי לכתוב נתונים בקובץ
קוֹבֶץ.כתבי -כתב(עמ)
#סגירת הקובץ
קוֹבֶץ.סגור()

תְפוּקָה

כיצד לקרוא קובץ

כדי לקרוא קובץ ב- Python, ראשית, פתח את הקובץ במצב קריאה. ישנן שלוש פונקציות מובנות ב- Python לקריאת קובץ. אלה כוללים את הדברים הבאים:

  1. לקרוא()
  2. קריאת שורה()
  3. שורות קריאה ()

לקרוא(): משמש לקריאת הנתונים מקובץ; מחזירה את כל הנתונים בצורה של מחרוזת.

קריאת שורה(): קורא שורת נתונים מקובץ; מחזירה רק את השורה הראשונה.

שורות קריאה (): קורא את כל השורות הקיימות מתוך קובץ; מחזירה אותו בצורה של רשימה.

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

הבה נראה דוגמא לקריאת נתונים מהקובץ.

# פתיחת קובץ במצב קריאה
קוֹבֶץ=לִפְתוֹחַ('file1.txt','ר')
# באמצעות פונקציית read () לקריאת הנתונים מהקובץ
# אחסון השורות במשתנה
נתונים=קוֹבֶץ.לקרוא()
# הדפסת הנתונים
הדפס('זהו הפלט של הפונקציה read (): n')
הדפס(נתונים)

# באמצעות הפונקציה seek () כדי להתחיל את מיקום הקובץ
קוֹבֶץ.לְחַפֵּשׂ(0)
# שימוש בפונקציה readline () לקריאת הנתונים מהקובץ
# אחסון השורות במשתנה
נתונים=קוֹבֶץ.קריאת שורה()
# הדפסת הנתונים
הדפס('זהו הפלט של הפונקציה readline (): n')
הדפס(נתונים)

# באמצעות הפונקציה seek () כדי להתחיל את מיקום הקובץ
קוֹבֶץ.לְחַפֵּשׂ(0)
# שימוש בפונקציה readlines () לקריאת הנתונים מהקובץ
# אחסון השורות במשתנה
נתונים=קוֹבֶץ.קווי קריאה()
# הדפסת הנתונים
הדפס('זהו הפלט של פונקציית הקווים הקריאים (): n')
הדפס(נתונים)
#סגירת הקובץ
קוֹבֶץ.סגור()

תְפוּקָה

סיכום

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