Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7916035
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T14:39:36+00:00 2026-06-03T14:39:36+00:00

I am using the following function to get all file sizes in a system

  • 0

I am using the following function to get all file sizes in a system from the target directory down.

def get_files(target):
    # Get file size and modified time for all files from the target directory and down.
    # Initialize files list
    filelist = []
    # Walk the directory structure
    for root, dirs, files in os.walk(target):
        # Do not walk into directories that are mount points
        dirs[:] = filter(lambda dir: not os.path.ismount(os.path.join(root, dir)), dirs)
        for name in files:
            # Construct absolute path for files
            filename = os.path.join(root, name)
            # Test the path to account for broken symlinks
            if os.path.exists(filename):
                # File size information in bytes
                size = float(os.path.getsize(filename))
                # Get the modified time of the file
                mtime = os.path.getmtime(filename)
                # Create a tuple of filename, size, and modified time
                construct = filename, size, str(datetime.datetime.fromtimestamp(mtime))
                # Add the tuple to the master filelist
                filelist.append(construct)
    return(filelist)

How can I modify this to include a second list containing directories and the total size of the directories? I am trying to include this operation in one function to hopefully be more efficient than having to perform a second walk in a separate function to get the directory information and size.

The idea is to be able to report back with a sorted list of the top twenty largest files, and a second sorted list of the top ten largest directories.

Thanks for any suggestions you guys have.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T14:39:37+00:00Added an answer on June 3, 2026 at 2:39 pm

    I output the directories in a dictionary instead of a list, but see if you like it:

    def get_files(target):
        # Get file size and modified time for all files from the target directory and down.
        # Initialize files list
        filelist = []
        dirdict = {}
        # Walk the directory structure
        for root, dirs, files in os.walk(target):
            # Do not walk into directories that are mount points
            dirs[:] = filter(lambda dir: not os.path.ismount(os.path.join(root, dir)), dirs)
            for name in files:
                # Construct absolute path for files
                filename = os.path.join(root, name)
                # Test the path to account for broken symlinks
                if os.path.exists(filename):
                    # File size information in bytes
                    size = float(os.path.getsize(filename))
                    # Get the modified time of the file
                    mtime = os.path.getmtime(filename)
                    # Create a tuple of filename, size, and modified time
                    construct = filename, size, str(datetime.datetime.fromtimestamp(mtime))
                    # Add the tuple to the master filelist
                    filelist.append(construct)
                    if root in dirdict.keys():
                        dirdict[root] += size
                    else:
                        dirdict[root] = size
        return(filelist, dirdict)
    

    If you want the dirdict as a list of tuples, just do this:

    dirdict.items()
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm using the following jQuery code to get a JSON file from CouchDB. Function
I try to get this following url using the downloadURL function as follows: http://www.ncbi.nlm.nih.gov/nuccore/27884304
I have the following express node.js app. It's using the 'redis' npm package. app.get(/test,function(req,res){
I'm using the following in the web page but can't get a response from
I'm using Visual Studion 2010, and given the following example function obtained from WinGDI.h:
I am using following function to load the page. I have loads of links
I am using following function. Whenever i call it that time it will increase
I'm using the following function that changes a calendar selection at a set time
I am using the following function to loop through a couple of open CDB
I am using the following function to attempt to serialize an object to XML..

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.