תרגיל פשוט בפייתון: איסוף מידע על קבצים


#1

שלום שוב!

הכנו לכם עוד תרגיל קטן בפייתון.
בתרגיל מומלץ לעשות שימוש בספריה הסטנדרטית בלבד (ללא חבילות צד ג’) בשביל התרגול.

התחילו כאן:
https://classroom.github.com/assignment-invitations/e30eace58b900cb584517478060a98f3
כל ההוראות בפנים.

שאלות - מומלץ לשאול כאן.

בהצלחה!

אודי


#2

שלום,

שאלה לגבי התרגיל - כתוב שקבצים ללא סיומת להתייחס אליהם כקבצים עם סיומת '.'
בתצוגה שבדוגמה הסיומת מופיעים ללא הנקודה, אז איך צריך להציג את התוצאות עבור קבצים ללא סיומת ו/או נקודה בלבד?

תודה,
נתנאל


#3

Do as we say, not as we do.
בפלט שלך - שיהיה נקודה.

בהצלחה!
יותם

2015-10-18 21:33 GMT+03:00 nelzas info@hasadna.org.il:


#4

למי שרוצה את הגודל בפורמט קריא
ext_info.py ~/Downloads/ | while read suf cnt sz; do hsz=$(numfmt --to=si
"$sz"); echo “$suf $cnt $hsz”; done

2015-10-18 21:52 GMT+03:00 yotammanor info@hasadna.org.il:


#5

או לחילופין, פשוט יותר:

להוספת פסיקים בלבד:

>>> print("{} {:,d} {:,d}".format("jpg", 1234, 7897865))
jpg 1,234 7,897,865

לפורמט עם סיומת kb/mb/gb וכו’ :

def sizeof_fmt(num, suffix='B'):
    for unit in ['','Ki','Mi','Gi','Ti','Pi','Ei','Zi']:
        if abs(num) < 1024.0:
            return "%3.1f%s%s" % (num, unit, suffix)
        num /= 1024.0
    return "%.1f%s%s" % (num, 'Yi', suffix) 

מקור: http://stackoverflow.com/questions/1094841/reusable-library-to-get-human-readable-version-of-file-size

אודי