פייתון 2.7 עבודה עם קבצים

36
מבוא לתכנות מדעי הרצאה6 חלק2 עבודה עם קבצים2016 Igor Kleiner

Upload: igor-kleiner

Post on 22-Jan-2017

80 views

Category:

Education


12 download

TRANSCRIPT

Page 1: פייתון 2.7 עבודה עם קבצים

מבוא לתכנות מדעי

2חלק 6הרצאה

עבודה עם קבצים

2016Igor Kleiner

Page 2: פייתון 2.7 עבודה עם קבצים

מטרה

ללמוד איך לעבוד עם קבצים בפייתון

שמירת מידע בקובץ

קריאת מידע מקובץ

Page 3: פייתון 2.7 עבודה עם קבצים

קובץ

Page 4: פייתון 2.7 עבודה עם קבצים
Page 5: פייתון 2.7 עבודה עם קבצים

סוגים של קבצים

Page 6: פייתון 2.7 עבודה עם קבצים

קובץ טקסט

אפשר לחשוב על קובץ טקסט כעל קובץ עם שורות של טקסט•

”n\"כאשר כל שורת טקסט היא בעצם מחרוזת שמסתיימת בסימן שורה חדשה •

לצורך תרגול נעבוד עם קובץ הבא שניתן להוריד אותו מאינטרנט•

http://www.py4inf.com/code/mbox-short.txt

Page 7: פייתון 2.7 עבודה עם קבצים

פתיחת קובץאולכיםלפני שנוכל לקרוא או לכתוב לקובץ יש להגיד לפייתון באילו קבצים אנו •

להשתמש ובאיזו מטרה

()openפעולה זו נעשה בעזרת פונקציה •

•open() מחזירה אובייקט(handle ) שבעזרתו ניתן לגשת לתוכן של הקובץ או לעדכןאותו

:דוגמאות לשימוש•

• fhandle=open(“my.txt”,”r”) - for reading from file my.txt

• fh=open(“grades.txt”,w) - for writing to file my.txt

Page 8: פייתון 2.7 עבודה עם קבצים

פתיחת קובץ לא קיים

אם נרצה לפתוח לקריא קובץ שלא קיים נקבל טעות•

אזי פייתון ייצר קובץ חדש בשבלינו, אפשר לפתוח לשמירה קובץ שלא קיים•

Page 9: פייתון 2.7 עבודה עם קבצים

n\שורה חדשה:סימן

מסמן לפייתון שיש לעבור לשורה חדשהn\, סימן מיוחד•

אבל הוא ישנו בסוף השורות, בפועל לא רואים אותו•

Page 10: פייתון 2.7 עבודה עם קבצים
Page 11: פייתון 2.7 עבודה עם קבצים

קריא מקובץ

שורה-שורה: forאפשר לקרוא ממנו בעזרת לולאה , לאחר שפתחנו קובץ לקריא•

• handler = open(“data.txt”,”r”)

• for string in handler:

• print string

Page 12: פייתון 2.7 עבודה עם קבצים

ספירת כמות שורות בקובץ

אפשר בקלות לספור כמות שורות בקובץ•

Page 13: פייתון 2.7 עבודה עם קבצים

קריאת קובץ כולו בבת אחד

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

אם אנו בטוחים שקובץ לא גדול אפשר להשתמש בפקודה זו לפעמים •

Page 14: פייתון 2.7 עבודה עם קבצים

חיפוש בקובץ

אפשר להשתמש במתודות שונות של מחרוזות כדי לעשות חיפוש בקובץ•

From:-למשל אם נרצה למצוא כל השורות שמתחילות ב•

Page 15: פייתון 2.7 עבודה עם קבצים
Page 16: פייתון 2.7 עבודה עם קבצים
Page 17: פייתון 2.7 עבודה עם קבצים

חיפוש בקובץ

אפשר להשתמש במתודות שונות של מחרוזות כדי לעשות חיפוש בקובץ•

From:למשל אם נרצה למצוא כל השורות שמתחילות מ•

Page 18: פייתון 2.7 עבודה עם קבצים
Page 19: פייתון 2.7 עבודה עם קבצים
Page 20: פייתון 2.7 עבודה עם קבצים
Page 21: פייתון 2.7 עבודה עם קבצים

קבלת שם של הקובץ ממשתמש

אפשר לקבל שם של קובץ ממשתמש•

Page 22: פייתון 2.7 עבודה עם קבצים

שמירת נתונים בתוך קובץ

”w“:יש לפתוח את הקובץ לשמירה•

(stringרק פרמטרים מטיפוס )writeכותבים בתוך קובץ בעזרת מתודה •

()closeאחרי סוף שימוש בקובץ יש לסגור אותו בעזרת מתודה •

לסגור את קובץ רק פעם אחד לאחר כל שימוש בוחשוב•

Page 23: פייתון 2.7 עבודה עם קבצים

שמירת נתונים בתוך קובץ

”w“:יש לפתוח את הקובץ לשמירה•

(stringרק פרמטרים מטיפוס )writeכותבים בתוך קובץ בעזרת מתודה •

()closeאחרי סוף שימוש בקובץ יש לסגור אותו בעזרת מתודה •

Page 24: פייתון 2.7 עבודה עם קבצים

מידע נוסף על עבודה עם קבצים ניתן לחפש בגוגל

Page 25: פייתון 2.7 עבודה עם קבצים

מידע נוסף על עבודה עם קבצים ניתן לחפש בגוגל

Page 26: פייתון 2.7 עבודה עם קבצים

לא אפשרית-CodeSculptorעבודה עם קבצים ב

לא תומך בעבודה עם קבציםCS:שימו לב•

Page 27: פייתון 2.7 עבודה עם קבצים

סיכום

למדנו איך לעבוד עם קבצי טקסט בפייתון

:שלב ראשון יש לפתוח קובץ באופן מתאים בעזרת פונקציהopen()

:אפשר לכתוב או לקרוא מקובץ בעזרת מתודות מתאימותwrite(), read(), readline()

אחרי עבודה עם קובץ יש לסגור אותו

Page 28: פייתון 2.7 עבודה עם קבצים

סיכום

forקל לקרוא מקובץ בעזרת לולאת

מקבלת פרמטרים מטיפוס מחרוזת()writeפונקציית

יש להיזהר כאשר עובדים עם קבצים

Page 29: פייתון 2.7 עבודה עם קבצים

1דוגמא מהרצאה

Page 30: פייתון 2.7 עבודה עם קבצים

שמירת מספרים ראשוניים בקובץ: דוגמא נוספת

100עד 2-נכתוב תוכנה ששומרת בתוך הקובץ כל המספרים הראשוניים מ•

: אלגוריתם•

Page 31: פייתון 2.7 עבודה עם קבצים

שמירת מספרים ראשוניים בקובץ: דוגמא נוספת

100עד 2-נכתוב תוכנה ששומרת בתוך הקובץ כל המספרים הראשוניים מ•

: אלגוריתם•

100עד 2-מXנעבור על כל מספר •

לקובץ..... הוא ראשוני Xואם , הוא ראשוניXהאם isPrimeנבדוק בעזרת פונקציה •

Page 32: פייתון 2.7 עבודה עם קבצים

שמירת מספרים ראשוניים בקובץ: דוגמא נוספת

100עד 2-נכתוב תוכנה ששומרת בתוך הקובץ כל המספרים הראשוניים מ•

: אלגוריתם•

100עד 2-מXנעבור על כל מספר •

Xהוא ראשוני נכתוב Xואם , הוא ראשוניXהאם isPrimeנבדוק בעזרת פונקציה •לקובץ

Page 33: פייתון 2.7 עבודה עם קבצים

שמירת מספרים ראשוניים בקובץ: דוגמא נוספת

100עד 2-נכתוב תוכנה ששומרת בתוך הקובץ כל המספרים הראשוניים מ•

Page 34: פייתון 2.7 עבודה עם קבצים

שמירת מספרים ראשוניים בקובץ: דוגמא נוספת

100עד 2-נכתוב תוכנה ששומרת בתוך הקובץ כל המספרים הראשוניים מ•

Page 35: פייתון 2.7 עבודה עם קבצים
Page 36: פייתון 2.7 עבודה עם קבצים

• Igor Kleiner (Hebrew version adaptation 2016)