user1893148
user1893148

Reputation: 2190

Pulling Files and Timestamps from a Directory and Subdirectories

I have a working script that will print all files in a given directory. I would like help making it do two additional things:

(1) Also be able to print the date_created or time stamp for each file. (2) Do all of the above not only for files in the given directory, but in all subdirectories as well.

Here is the working script:

from os import listdir
from os.path import isfile, join
from sys import argv

script, filename = argv

mypath = os.getcwd()

allfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]

output = open(filename, 'w')

for i in allfiles:
    string = "%s" %i
    output.write(string + "\n")

output.close()

print "Directory printed."

I would hope to be able to print something like (filename + ", " + timestamp + "\n"), or some substitute.

Thanks!

Upvotes: 0

Views: 4460

Answers (2)

tohster
tohster

Reputation: 7093

This snippet walks through files in a directory + subdirectories and prints out created and modified timestamps.

import os
import time

def walk_files(directory_path):
    # Walk through files in directory_path, including subdirectories
    for root, _, filenames in os.walk(directory_path):
        for filename in filenames:
            file_path   = root + '/' + filename
            created     = os.path.getctime(file_path)
            modified    = os.path.getmtime(file_path)

            # Process stuff for the file here, for example...
            print "File: %s" % file_path
            print "    Created:       %s" % time.ctime(created)
            print "    Last modified: %s" % time.ctime(modified)


walk_files('/path/to/directory/')

Upvotes: 1

synthesizerpatel
synthesizerpatel

Reputation: 28036

http://docs.python.org/2/library/os.html and http://docs.python.org/2/library/stat.html have you covered.

os.walk will give you the recursive directory walking

stat will give you file timestamps (atime,ctime,mtime)

Upvotes: 2

Related Questions