I have the need to search a directory and display the number of text (*.txt) files. In researching, I am fairly certain I can use glob and os, but am at a bit of a loss on how to even start.
            Asked
            
        
        
            Active
            
        
            Viewed 255 times
        
    -3
            
            
        - 
                    2Start to learn Python. – furas Jul 08 '14 at 22:41
2 Answers
1
            
            
        You can use os.listdir
import os
txtFiles = 0
for file in os.listdir("/dir"):
    if file.endswith(".txt"):
        txtFiles +=1
Hope this helps,
 
    
    
        albciff
        
- 18,112
- 4
- 64
- 89
-1
            
            
        I would try something along the lines of this:
import glob
import os
def fileCount():
    myFiles = dict()
    directory = "C:\somefolder\someotherfolder"
    for file in glob.glob("*"):
        if os.path.isfile(file):
            name, extension = os.path.splitext(file)
            myFiles[extension] = myFiles.get(extension, 0) + 1
            print(os.getcwd())
            os.chdir(directory)
            print('after chdir', os.getcwd())
    return myFiles
if __name__ == "__main__":
    files = fileCount()
    print(files)
The line for file in glob.glob("*"): will read all files in the specified directory.
The line name, extension = os.path.splitext(file) will split out the file name and the extension into two objects, but only if the object is a file (as opposed to another folder).
Hope this helps
 
     
     
    