מצבי גישה לקבצים:
מוזכר קודם לכן ניתן להשתמש בסוגים שונים של מצבי גישה לקבצים בשיטה פתוחה () ואלה מתוארים בחלק זה. מצבים נפוצים מוזכרים להלן.
מצב | מַטָרָה |
t | הוא מציין קובץ טקסט וזה סוג קובץ ברירת המחדל. |
ב | הוא מציין קובץ בינארי. |
r | הוא פותח את הקובץ לקריאה והוא מצב ברירת המחדל לפתיחת כל קובץ. |
ב | הוא פותח את הקובץ לכתיבה. |
איקס | הוא פותח את הקובץ לכתיבה אם הוא אינו קיים. |
ל | הוא פותח את הקובץ להוספת תוכן בסוף הקובץ אם הקובץ קיים, אחרת צור את הקובץ והוסף את התוכן בהתחלה. |
r+ | הוא פותח את הקובץ לקריאה וכתיבה ומציב את הסמן בתחילת הקובץ. הוא מעלה שגיאה אם הקובץ אינו קיים. |
ב- + | הוא פותח את הקבצים לקריאה וכתיבה ומחליף את הנתונים אם הקובץ כבר קיים. |
a + | הוא פותח את הקובץ לקריאה וכתיבה ומציב את הסמן בסוף הקובץ עבור הקובץ הקיים. הוא יוצר את הקובץ אם הוא אינו קיים. |
שיטות:
קיימות שיטות רבות בפייתון לקריאה או כתיבה של הקובץ. השיטות הנפוצות ביותר מוזכרות כאן.
לִפְתוֹחַ():
שיטה זו מכילה שני טיעונים. הטיעון הראשון הוא חובה המשמש לקיחת שם הקובץ לקריאה או כתיבה. הטיעון השני הוא אופציונלי המשמש להגדרת מצב גישה לקבצים. מצב ברירת המחדל לגישה לקבצים הוא 'Rt' . סוג ההחזרה של שיטה זו הוא אובייקט קובץ המשמש לקריאה וכתיבה של הקובץ.
תחביר:
FileObject = open (שם קובץ, FileMode)
סגור():
שיטה זו משמשת לסגירת הקובץ ולהפיכתו לזמין למטרה אחרת. לאחר קריאה לשיטה זו, אובייקט מטפל הקבצים לא יהיה שמיש.
לקרוא():שיטה זו משמשת לקריאת כמות בייטים ספציפית מקובץ באמצעות אובייקט קובץ.
קריאת שורה():
שיטה זו משמשת לקריאת שורה מסוימת מתוך קובץ באמצעות אובייקט קובץ.
שורות קריאה ():שיטה זו משמשת לקריאת כל שורות הקובץ המופרדות בפסיק (,) באמצעות אובייקט קובץ.
לִכתוֹב():שיטה זו משמשת לכתיבת תוכן לקובץ באמצעות אובייקט קובץ.
קריאת קובץ טקסט:
צור קובץ טקסט בשם ' countryList.txt ' עם התוכן הבא לשימוש בו בחלק הבא של המאמר.
אלג'יריהאיי בהאמה
בלגיה
קובה
פינלנד
דוגמה 1: קריאת קובץ באמצעות read (), קו קריאה () וקווי קריאה ()
צור קובץ בשם read1.py עם סקריפט הפיתון הבא. הוא יקרא את הקובץ בהתבסס על גודל הבייט באמצעות לקרוא() , קרא את מספר התווים הקבוע מקובץ באמצעות קריאת שורה() וקרא את כל שורות הקובץ במערך באמצעות שורות קריאה ().
# פתח קובץ לקריאהFileHandler= לִפְתוֹחַ('countryList.txt','ר')
# קרא תוכן קובץ בהתאם לגודל
הדפס('פלט משיטת read () n',FileHandler.לקרוא(2048))
# סגור את הקובץ
FileHandler.סגור()
# פתיחת קובץ לקריאה וכתיבה
FileHandler= לִפְתוֹחַ('countryList.txt','r+')
# קרא את תוכן הקובץ של השורה השלישית
הדפס('פלט משיטת readline () n',FileHandler.קריאת שורה(5))
# סגור את הקובץ
FileHandler.סגור()
# פתח קובץ לקריאה והוספה
FileHandler= לִפְתוֹחַ('countryList.txt','ר')
# קרא את כל תוכן הקובץ
הדפס('פלט משורת הקריאה () n',FileHandler.קווי קריאה())
# סגור את הקובץ
FileHandler.סגור()
תְפוּקָה:
הפלט הבא יופיע לאחר הפעלת התסריט.
דוגמה 2: קריאת קובץ שורה אחר שורה באמצעות לולאה
צור קובץ בשם read2.py עם התסריט הבא. הוא יקרא וידפיס כל שורה של הקובץ מתוך fileObject שימוש עבור לולאה.
# פתח קובץ לקריאהfileObject= לִפְתוֹחַ('countryList.txt', 'ר')
# קראו קובץ שורה אחר שורה והדפיסו במסוף
לקַובfileObject:
הדפס(קַו)
תְפוּקָה:
הפלט הבא יופיע לאחר הפעלת התסריט.
דוגמה 3: קריאת קובץ באמצעות ההצהרה
צור קובץ בשם read3.py עם הסקריפט הבא. הוא יקרא את הקובץ ללא אובייקט קובץ באמצעות המשפט.
# קרא קובץ באמצעות ההצהרהעם לִפְתוֹחַ('countryList.txt') כפי שמטפל:
הדפס(מטפל.קווי קריאה())
תְפוּקָה:
הפלט הבא יופיע לאחר הפעלת התסריט.
כתיבת קובץ טקסט:
ניתן לכתוב את התוכן בקובץ על ידי הגדרת אובייקט הקובץ או באמצעות עם ההצהרה.
דוגמה 4: כתיבה לקובץ באמצעות אובייקט קובץ
צור קובץ בשם write1.py עם הסקריפט הבא. הוא יפתח קובץ טקסט לכתיבה וכתוב שלוש שורות באמצעות לִכתוֹב() שיטה.
# פתח קובץ לכתיבהfileObject= לִפְתוֹחַ('newfile.txt', 'ב')
# הוסף טקסט
fileObject.לִכתוֹב('טקסט לשורה הראשונה n')
fileObject.לִכתוֹב('טקסט לשורה השנייה n')
fileObject.לִכתוֹב('טקסט לשורה השלישית n')
# סגור את הקובץ
fileObject.סגור()
תְפוּקָה:
הפעל את הסקריפט ובדוק אם הקובץ נוצר עם התוכן או לא. הפלט הבא יופיע לאחר הפעלת הסקריפט והפעלת הפקודה 'חתול'.
דוגמה 5: כתיבה לקובץ באמצעות ההצהרה
ניתן לכתוב את התוכן לקובץ מבלי להגדיר אובייקט קובץ. צור קובץ בשם write2.py עם התסריט הבא. הוא יכתוב שתי שורות לקובץ באמצעות עם משפט.
# פתח קובץ לכתיבה באמצעות עם הצהרהעם לִפְתוֹחַ('myfile.txt','ב') כפי שfileObj:
fileObj.לִכתוֹב('שורה ראשונה n')
fileObj.לִכתוֹב('שורה שנייה n')
תְפוּקָה:
הפלט הבא יופיע לאחר הפעלת הסקריפט והפקודה 'חתול' לקריאת הקובץ.
סיכום:
השיטות המשמשות לרוב לקריאת תוכן מקובץ ולכתיבת תוכן לקובץ בפייתון מתוארות במדריך זה באמצעות דוגמאות פשוטות מאוד. משתמשי הפיתון החדשים יוכלו לדעת את השימושים בפונקציות הדרושות לקריאה או כתיבה של files.ch
צפו בסרטון המחבר: פה