Home Python עמוד 9 – קריאה וכתיבה לקבצים Python File Reading And Writing

עמוד 9 – קריאה וכתיבה לקבצים Python File Reading And Writing

by Tal Ben Shushan 13/07/2021 0 comment
עמוד 9 – קריאה וכתיבה לקבצים Python File Reading And Writing
נהנתם מהמאמר ? שתפו אותו!

קריאה וכתיבה לקבצים Python File Reading And Writing

קריאה מקבצים

על מנת לקרוא קבצים בפייתון נבצע זאת עם open , תחילה נייצר קובץ טקסט בשם file.txt ואליו נכניס את הערך Hello World

כעת נגדיר משתנה בשם file ואז נגדיר file.txt וה r בסוף זה בשביל read

אם נרצה לכתוב לקובץ במקום r נגדיר w

file = open("file.txt", "r")

content = file.read()

print(content)

בשביל להדפיס את מה שכתוב בקובץ, ניצור משתנה בשם content ואז file.read שכן המשתנה הוא file עם .read

מה קורה כאשר אתם רוצים קובץ מנתיב שונה מהמקום בו נמצא הסקריפט, האופציה היא להוסיף \\ לכל \ שיש בנתיב, כך

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

 

file = open("C:\\Users\\Tal\\Documents\\Python\\\Tal\\file.txt", "r")

content = file.read()

print(content)

אז איך יוצרים קובץ? על ידי שימוש ב w במקום r כעת ניצור קובץ ונכתוב אליו

file=open("C:\\Users\\Tal\\Documents\\Python\\\Tal\\filew.txt","w")

file.write("Hello World")

file.close()

אבל מה יקרה אם תרצו להוסיף עוד שורה לקובץ? ברגע שתבצעו את אותה הפקודה ותכתבו במקום Hello World נניח Hi World אז הטקסט המקורי ימחק וHi World "ידרוס" אותו

אם נשתמש בקוד הבא

file=open("filew.txt","w")

file.write("Hello World")

file.write("Hi World")

file.close()

יהיה לנו שורה אחת מחוברת כך

Hello WorldHi World

על מנת שהטקסט השני ירד שורה נכניס /r בשורה הראשונה ואם צריך בכל שורה בה אני רוצה "להכניס" שורה חדשה עם Enter

file=open("filew.txt","w")

file.write("Hello World \n")

file.write("Hi World")

file.close()

ומה קורה כאשר יש רשימה? ואנחנו רוצים לכתוב לטקסט, אם נבצע את אותו שורות קוד ברשימה, נקבל את הרשימה מחוברת, לכן נשתמש ב for על מנת ל"הכניס" לכל אחד /r

file=open("filew.txt","w")

names = ["Tal", "Noy", "Liya"]

for name in names:

           file.write(name+"\n")

file.close()

על מנת להוסיף לטקסט שכבר קיים ולא לדרוס את מה שהיה נשתמש בa שהוא קיצור ל append

מספיק שאשנה את הקוד מw לa כמו בדוגמא

file=open("filew.txt","a")

names = ["Tal", "Noy", "Liya"]

for name in names:

 file.write(name+"\n")

file.close()

ואז בכל פעם שתריצו את הסקריפט יכתבו שוב כל השמות כך:

נתיבים ותיקיות בעזרת path

יש מודל שכברירת מחדל נמצא בפייתון והוא path נייבא אותו וספציפי ממנו את Path (עם P גדולה)

כעת נגדיר משתנה בשם נתיב ואז נגדיר שיבדוק אם יש תיקייה בשם company ואז נדפיס ע"י מוד בשם exists, בדיוק כמו בתמונה

הערך שנקבל הוא True או Flase שכן התיקייה קיימת או לא, אצלי היא קיימת ולכן התשובה תיהיה True

from pathlib import Path

native = Path("company")

print(native.exists())

נוכל ליצור תיקייה באותה הדרך ע"י שינוי של exists ל mkdir

נוכל גם להסיר ע"י rmdir במקום exists

 

 

 

 

מאמרים קשורים

Leave a Comment