יש לי רעיון בראש איך לפתור את התרגיל, לא בטוח איך לבצע בפועל,
בגדול הרעיון הוא כזה, עשיתי עד כה 2 פונקציות עזר, הראשונה שבודקת אם המילה המבוקשת בתוך הקובץ (ותדע להתחשב בקבצי טקסט / בינאריים) והשניה שתבדוק אם קובץ כולל בתוכו תיקיות ותחזיר True / False בהתאם.
החלק שאני לא בטוח עליו הוא איך לבנות את הלולאה שאני רוצה פה, בגדול היא צריכה לעשות דבר כזה:
כל עוד הקובץ כולל תיקיה, עבור כל קובץ בתוכו, כל עוד הוא כולל תיקייה, וכן הלאה וכן הלאה…
אחרת קרא את הקובץ (פונקציית העזר שבניתי).
אני לא בטוח מכאן איך להביא את זה לפועל, אני בטוח שצריך להיות פה שימוש בלולאת while, הבלבול שלי הוא בנוגע לתחביר שאצטרך להשתמש בו, כי ליתר דיוק, אני רוצה שהפונקציה תדע להמשיך את עצמה כל עוד הקובץ כולל תיקיות.
במידה ולא היא תמשיך הלאה לשאר הקבצים בתיקייה ולאחר מכן תחזור חזרה לתיקייה מעליה, תמשיך לעבור על הקבצים ולזהות אם קיימות תיקיות וככה אני רוצה שהיא תפרק את העץ מבנה הזה מהבסיס עד לכל השורשים שלו.
eliory09
אני לא בטוח מכאן איך להביא את זה לפועל, אני בטוח שצריך להיות פה שימוש בלולאת while, הבלבול שלי הוא בנוגע לתחביר שאצטרך להשתמש בו, כי ליתר דיוק, אני רוצה שהפונקציה תדע להמשיך את עצמה כל עוד הקובץ כולל תיקיות.
במידה ולא היא תמשיך הלאה לשאר הקבצים בתיקייה ולאחר מכן תחזור חזרה לתיקייה מעליה, תמשיך לעבור על הקבצים ולזהות אם קיימות תיקיות וככה אני רוצה שהיא תפרק את העץ מבנה הזה מהבסיס עד לכל השורשים שלו.
מה נשמע דרור?
נשמע כמו מקרה קלאסי של שימוש ברקורסיה.
יכול להיות שיש דרכים אחרות לבצע את זה, אבל לדעתי זו הדרך הכי נוחה.
Yam
אלירן צודק, אבל מעבר לזה יש אופציה נוספת של להעמיק את החיפוש בגוגל ואולי למצוא משהו שפותר את זה עבורך.
DrorBiton
חסכת לי עכשיו המון שורות מיותרות, תודה!
DrorBiton
שאלה נוספת, קבצים שאין לנו הרשאה אליהם (לדוגמא קבצי ipynb_checkpoints), לדלג עליהם?
בחיפוש קצר בגוגל מצאתי שאם רוצים לפתוח אותם צריך להריץ אותם / את התוכנה שעובדים איתה כאדמיניסטרטור אבל לא הרבה מעבר.