“אם פתחנו קובץ לכתיבה והנתיב אליו לא קיים במערכת שלנו, פייתון תבדוק אם התיקייה שמעליו קיימת.
אם כן – פייתון תיצור את הקובץ בשבילנו.”
הקוד שלי בבדיקת המשתמש החדש והכנסתו לקובץ הסיסמאות, לא כולל פתיחת קובץ לכתיבה אלא רק read ו-append.
איך אפשר ליצור קובץ bank_passwd.txt חדש?
כרגע הוא כותב לי שגיאה שהקובץ לא קיים כשאני מריץ את הקוד
aviadamar
אתה יכולה לבצע פעולה של כתיבה והיא תיצור קובץ חדש.
neri
נכון.
אבל אם אשתמש בפעולה של כתיבה, בכל פעם שאצרף משתמש חדש לבנק, הקובץ יימחק
(כי פעולת הכתיבה מוחקת את מה שהיה קיים בקובץ)
aviadamar
אפשר לבצע כתיבה פעם אחת רק לשם יצירת הקובץ
ולאחר מכן לפתוח את הקובץ בצורה של append ורק להוסיף
להוריד זה כבר סיפור אחר (:
לייק 1
Ayelet
היי אביעד,
גם אני נתקלתי בבעיה הזו.
בתחילת הפונקציה register_to_bank אני מבצעת פתיחה לראשונה של הקובץ ובהמשך באמת קוראת לו רק ב- append. הבעיה היא שכל פעם שאני מריצה את התא (כדי להוסיף משתמשים, לדוגמה) הפקודה רצה ומוחקת את תוכן הקובץ. האם יש לזה פתרון?
כרגע פשוט הרצתי את התא פעם ראשונה עם הפקודה, ואח"כ עשיתי # לפני השורה.
aviadamar
איזו פקודה מוחקת לך את הכל הappend ?
Ayelet
התייעצתי והסתדרתי.
העניין היה שהנחתי שחלק מהמשימה היא כל פעם מחדש לפתוח את הקובץ מ-0. אז בהרצה הראשונה פקודת open(“file.txt”,“w”) אכן פתחה את הקובץ שלא היה קיים, ובכל ההרצות הבאות היא מחקה את התוכן שהכנסתי לו (כי הוא כבר היה קיים).
מה שהבנתי אח"כ זה שכנראה צריך להקים מ-0 את הקובץ פעם אחת בלבד (למשל בתא אחר) ואח"כ לממש את פונקציית register_to_bank בהנחה שהקובץ קיים ורק צריך לעשות לו append.
לייק 1
Dusinka
זה בדיוק מה שאני עשיתי, יצרתי פונקציה שיוצרת את הקובץ והרצתי אותה פעם אחת רק למקרה שאגלה שדרשו לעשות את זה. אחר כך רק הוספתי לקובץ.
מאוחר יותר באמת ראיתי שים כתב שיוצאים מנקודת הנחה שהקובץ קיים