המיקום של הקובץ - מאיפה אני לוקחת אותו? ומיקום של איזה קובץ אני צריכה לספק - מה שפתוח בדף של Jupyter notebook או המיקום של הקובץ ששמור לי פיזית על המחשב?
למה צריך לעשות על המחשב פעמיים את הפעולה של read? הרי בשורה הראשונה של הקוד כבר כתבת ‘r’ משמע אני רוצה לקרוא את הקובץ למה נחוצה גם הפעולה של read()?
אם אני רוצה לגשת לתוכן הקובץ ולבדוק למשל אם מילה מסויימת מופיעה בו על איזה על איזה משתנה אני צריכה להפעיל את הפונקציות שלי - על password_files או על password?
הקוד הנ"ל לא עובד. אפשר הסבר למה?
Yam
לכל קובץ במחשב יש כתובת. את הכתובת הזו את צריכה לספק. אם תגשי לקובץ בסייר הקבצים (החלון שמאפשר לך לגשת לקבצים בדרך־כלל) תוכלי להחזיק את הלחצן Shift השמאלי, ללחוץ על הקובץ קליק ימני ואז “העתק ניתוב” או Copy as path. זה הנתיב שאת צריכה לספק.
ה־‘r’ זו הצהרת כוונות: אני פותחת את הקובץ למטרות קריאה. זה לא קורא עדיין את הקובץ.
פעולות של מחרוזות עושים על התוכן שקראת, ולא על האובייקט של הקובץ. דרך קלה לברר את זה היא להדפיס מה הטיפוס של כל אחד מהנתונים.
את אמורה להבין מהתשובות למעלה, ובפרט מסעיף 1
בהצלחה
לייק 1
yael7899
תודה על התשובה!
ניסיתי להריץ שוב עם הנתיב כמו שאמרת אבל עדיין הקוד לא רץ… למה?
לא הבנתי מהשאלה איך צריך להיראות הפלט? ומה הכוונה שכל איבר הוא שורה בקובץ? ואיך זה שונה מהפעולה readlines()? הרי זה לא מה שהפונקציה הזאת עושה??
rogruman
יש לך ב-path תיקייה בעברית, “פייתון”. גם לי זה קרה, וכנראה שפייתון לא ממש אוהבת עברית, כי ברגע ששמתי בתיקייה באנגלית בלבד זה עבד.
שימי לב גם שבשגיאה כתוב שזה בעיה ב-unicode, שזה העברה בין כיתובים שונים. זה מה שרמז לי.
(אני לא סגל, מקווה שיעבוד לך )
לייק 1
yael7899
שמתי לב שכשאני מכניסה את הנתיב לפונקציה, אני יכולה לקרוא כמה פעמים לאותו נתיב מבלי לאפס את הסמן בעזרת ה seek(0) למה זה?