-
יש לי קבצי קול ממוספרים
אני רוצה להכין שקריפט שיקח כל 4 קבצים שנשים אותו בתיקית הקבצים ויצור בתוכה תיקיית trivia ואז בתוכה
יצור תיקיות ממוספרות מ001 והלאה ויעתיק את זה לתוכם
ויקרא לקובץ עם המספר הקטן Q
לגדול יותר A
לאחד מעליו B
ולעוד אחד מעליו C
ואולי להוסיף עוד סקריפט של 5 קבצים כשהחמישי הגדול יותר יהיה D
למי שרוצה שאלות עם 4 אפשרויות.
@yossiz
תוכל לעזור?
גם קישור זה טוב -
@smk123
לא כל הבנתי את הכל
אבל כנראה אתה סך הכל צריך ללמוד איך עושים לולאה,יצירת קובץ,יצירת תיקיה
ולהתקשקש עם זה הלוך חזור עד שיצא משהו.
אני לא יודע האם bat זה השפה הכי קלה לכתיבה
אולי יש עדיפות לbash (נראה לי שיש לזה יותר מדריכים, ואתה יכול לכתוב את זה על שרת לינוקס ואז להוריד למחשב)
אבל את זה נשאיר למומחים. -
@יוסף-בן-שמעון לא מיוחד.
אם יש לך שפה אחרת גם טוב.
אשמח לכיוון.
כי חיפשתי הרבה ולא מצאתי משהו שעונה על הדרישות -
@yossiz אמר בסקריפט bat שיכין לי קבצים לטריוויה:
פייתון מתאים מאוד לזה. (למרות שלא הבנתי בדיוק את הדרישות...)
אסביר את עצמי
יש לי קבצי קול בתיקיה לדוגמא מ1-152
אני רוצה שהסקריפט יקח כל 4קבצים וישים בתיקייה ממוספרת 001 002 וכו'
לפי הסדר 1-4 בתיקיה 001 וכן הלאה.
ואז שיקח את הקובץ הקטן ביותר (בשם הקובץ)
ויקרא לו Q
לגדול יותר A
וכן הלאה B
וC
ולעשות אופציה לבחור אם רוצים 4או 5 קבצים בתיקיה
ואם בחרו 5 לחמישי יקראו D.
מקווה שזה מובן יותר
כמובן שלפעמים הקבצים בתיקיית המקור הוא לא יכול לא חייבים להיות אחד והם לא תמיד רציפים.
אבל תמיד זה הרציונל. -
@smk123 תתחיל, גש למערכת קבצים, תקרא את רשימת הקבצים שבתיקית המקור ותטען אותם למערך, ואז תחלק את המערך לפרוסות של מערכים קטנים של 4 קבצים, תעבור בלולאה על המערך הראשי ותעתיק את הקבצים שבתתי המערכים לתיקיות משנה, ותקרא להם בשמות שאתה רוצה. עד כאן בסדר?
-
למודל os יש את כל מה שאתה צריך,
os.listdir os.mkdir os.rename
ובשביל החלוקה לקבוצות של 4:
files_for_dirs = [files[x:x+files_per_dir] for x in range(0, len(files), files_per_dir)]
רק שים לב שהקוד הזה יעשה בעיות במידה ויהיה סכום קבצים שלא מתחלק ב4. משאיר לך שיעורי בית איך לפתור את זה...
-