how to get a folder name and file name in python
Question: I have a python program named `myscript.py` which would give me the list of
files and folders in the path provided.

    
    
    import os
    import sys
    
    def get_files_in_directory(path):
        for root, dirs, files in os.walk(path):
            print(root)
            print(dirs)
            print(files)
    path=sys.argv[1]
    get_files_in_directory(path)
    

the path i provided is `D:\Python\TEST` and there are some folders and sub
folder in it as you can see in the output provided below :

    
    
    C:\Python34>python myscript.py "D:\Python\Test"
    D:\Python\Test
    ['D1', 'D2']
    []
    D:\Python\Test\D1
    ['SD1', 'SD2', 'SD3']
    []
    D:\Python\Test\D1\SD1
    []
    ['f1.bat', 'f2.bat', 'f3.bat']
    D:\Python\Test\D1\SD2
    []
    ['f1.bat']
    D:\Python\Test\D1\SD3
    []
    ['f1.bat', 'f2.bat']
    D:\Python\Test\D2
    ['SD1', 'SD2']
    []
    D:\Python\Test\D2\SD1
    []
    ['f1.bat', 'f2.bat']
    D:\Python\Test\D2\SD2
    []
    ['f1.bat']
    

I need to get the output this way :

    
    
    D1-SD1-f1.bat
    D1-SD1-f2.bat
    D1-SD1-f3.bat
    D1-SD2-f1.bat
    D1-SD3-f1.bat
    D1-SD3-f2.bat
    D2-SD1-f1.bat
    D2-SD1-f2.bat
    D2-SD2-f1.bat
    

how do i get the output this way.(Keep in mind the directory structure here is
just an example. The program should be flexible for any path). How do i do
this. Is there any os command for this. Can you Please help me solve this?
(Additional Information : I am using Python3.4)


Answer: You could try using the `glob` module instead:

    
    
    import glob
    glob.glob('D:\Python\Test\D1\*\*\*.bat')
    

Or, to just get the filenames

    
    
    import os
    import glob
    [os.path.basename(x) for x in glob.glob('D:\Python\Test\D1\*\*\*.bat')]
    

