Welcome, guest | Sign In | My Account | Store | Cart
#Recoursively Move all files up to root level.

import os, shutil

print os.getcwd()
root = os.getcwd()

endstring = 'C:\Users\shawn\Desktop\DATA\Programming\Python'
scriptname = 'recourse.py'
numofdirs = 0
numofiles = 0

def deletedirs():
    global numofdirs
    print 'entering deletedirs | current dir: ' + str(os.getcwd())
    y = 0    
    for x in os.listdir(os.getcwd()):
        if os.path.isdir(x):
            os.chdir(x)
            deletedirs()
            os.chdir('..')
        try:
            os.rmdir(x)
            print 'Removed Directory: ' + x
            numofdirs -= 1
            y += 1
        except:
            print "Couldn't Delete Directory: " + x
    print "Num of Directory's Removed: " + str(y)
    print "Number of Directories: " + str(numofdirs)
        

def recourseprint():
    global numofdirs, numofiles
    for x in os.listdir(os.getcwd()):
        if os.path.isdir(x):
            print 'Dir : ' + x
            numofdirs += 1
        else:
            print 'File:' + x
            numofiles += 1
        #print x + "\t | dir: " + str(os.path.isdir(x))
        if os.path.isdir(x):
            os.chdir(x)
            recourseprint()
            os.chdir('..')
        #print os.getcwd()
    print '-' * 40
    print "Number of Directories: " + str(numofdirs)
    print "Number of Files: " + str(numofiles)
    print '-' * 40

def recoursemove():
    for x in os.listdir(os.getcwd()):
        if os.getcwd() == root:
            print "Back To root"
        if x == scriptname:
            print 'at recourse.py'
        if os.path.isdir(x):
            os.chdir(x)
            recoursemove()
            os.chdir('..')
        if os.path.isfile(x) and os.getcwd() != root:
            shutil.move(x, '..')


        

recourseprint()

while(numofdirs != 0):
    recoursemove()

    deletedirs()   

History