diffracteD
diffracteD

Reputation: 758

walking along and processing files in directory in python

I have huge data in a directory tree format like:
c:/user/name/class/std/section I to VI [all section has individual folder i.e. 6 folder in total and all folder have 100+ files to be processed]
I wrote a script in which if I give the folder containing the files e.g.Section I then it would process files inside using glob.iglobfunction.
Is it possible to write a script which can walk along directories by just entering one directory > processing file > leaving directory > entering different directory > and so on.
please help.

Upvotes: 2

Views: 2046

Answers (3)

urcm
urcm

Reputation: 2284

you can try this code :

import os
folder = 'C:'

for root, dirs, files in os.walk(folder):
    for name in files:
        print os.path.join(root, name)
    for name in dirs:
        print os.path.join(root, name)

UPDATE:

import os folder = 'C:'

for root, dirs, files in os.walk(folder):
    for name in files:
        nm, ext = os.path.splitext(name)
        if ext == ".csv":
            print os.path.join(root, name)

Upvotes: 4

Simon Peverett
Simon Peverett

Reputation: 4207

Addressing Abhisek's comment on Aragon's solution:

import os folder = 'C:'

for root, dirs, files in os.walk(folder):
    for name in files:
        (base, ext) = os.path.splitext(name)
        if ext in "csv":
            print os.path.join(root, name)

Upvotes: 0

Christian Witts
Christian Witts

Reputation: 11585

import os
for (dirpath, dirnames, filenames) in os.walk(directory):
    # Do some processing

That will iterate through the root of the directory specified, for eg. c:/user/name/class/std and enter every folder contained in it, and give you the folders and files contained in them. With that you should be able to do what you need to processing wise.

Upvotes: 0

Related Questions