Nov-05-2018, 03:10 AM
In a folder there are different file formats such as jpeg,jpg,pdf and psd. Following program can count the files in a particular format.If the folder gets a new file format then a new function needs to be added.So like adding a new function for every file format how to write a more generalized program for any file types.
if the files are added dynamically
if the files are added dynamically
import os
filter = []
for filepath,dir,filenames in os.walk(r'C:\Users\sai\Desktop\dosc'):
for element in filenames:
filter.append(element)
newstr = filter
print(len(newstr))
def jpegfilter(x):
jpeglist =[]
for line in x:
if line.endswith('.jpeg') | line.endswith('.jpg') | line.endswith('.JPG'):
jpeglist.append(line)
return jpeglist
def pdffilter(x):
pdflist = []
for line in x:
if line.endswith('.pdf'):
pdflist.append(line)
return pdflist
def psdfilter(x):
psdlist = []
for line in x:
if line.endswith('.psd'):
psdlist.append(line)
return psdlist
def docfilter(x):
doclist = []
for line in x:
if line.endswith('.doc'):
doclist.append(line)
return doclist
print("number of jpeg files-{}".format(len(jpegfilter(newstr))))
print("number of pdf files-{}".format(len(pdffilter(newstr))))
print("number of doc files-{}".format(len(docfilter(newstr))))
print("number of doc files-{}".format(len(psdfilter(newstr))))
print("Total number of files-{}".format( len(jpegfilter(newstr)) + len(pdffilter(newstr)) + len(docfilter(newstr)) + len(psdfilter(newstr))) )
