Susana Iraiis Delgado Rodriguez wrote:
I want to get the size of  3 files. I already completed this step. Then I
need to sum the 3 results I got. In order to do it I have the next code:

import os
file_list = []
folders = None
for root, folders, files in os.walk('C:\\'):
            file_list.extend(os.path.join(root,fi) for fi in files if
(fi.endswith.shp))
for row, filepath in enumerate(file_list, start=1):
            n = os.path.splitext(filepath)
            p = n[0]+'.prj'
            shx = n[0]+'.shx'
            s = os.path.getsize(filepath)

#Function to get size in humam readable terms:
            def sizeof_fmt(num):
                 for x in ['bytes','KB','MB','GB','TB']:
                      if num < 1024.0:
                           return "%3.1f%s" % (num, x)

This returns a string value

                      num /= 1024.0

            kb = sizeof_fmt(s)

So kb1 will be astring

            shx1 = os.path.getsize(shx)
            kb2 = sizeof_fmt(shx1)

And so will kb2

#Finally I want to sum the 3 terms:
total = kb+kb2+kb3

Where does kb3 come from?

But the output I got is : 15.5KB108.0bytes169.0bytes

Does anyone have an idea how to fix it?
Thank you!!

Looks like you are adding the strings. You need to get the
sum then call your format function on the total.

HTH,

Alan G.
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to