Skip to content

Commit f6418e3

Browse files
First Python Application(File Saparator)
1 parent e9e33f4 commit f6418e3

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

p21.py

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# First project using Python
2+
3+
# FILE SAPARATOR APPLICATION
4+
5+
6+
7+
import os,shutil
8+
9+
# NOTE: you can write every singlr extensions inside tuple
10+
11+
12+
dict_extensions={
13+
'audio_extensions' : ('.aif','.cda','.mid','.midi','.mp3','.mpa','.ogg','.wav','.wma','.wpl'),
14+
'compressed_file_extensions': ('.7z','.arj','.deb','.pkg','.rar','.rpm','.tar.gz','.z','.zip'),
15+
'disc_and_media_extensions' : ('.bin','.dmg','.iso','.toast','.vcd'),
16+
'database_file_extensions' : ('.csv','.dat','.db','.dbf','.log','.mdb','.sav','.sql','.tar','.xml'),
17+
'email_extensions' : ('.email','.eml','.emlx','.msg','.oft','.ost','.pst','.vcf'),
18+
'executable_extensions' : ('.apk','.bat','.bin','.cgi','.pl','.com','.exe','.gadget','.jar','.msi','.py','.wsf'),
19+
'font_file_extensions' : ('.fnt','.fon','.otf','.ttf'),
20+
'image_extensions' : ('.ai','.bmp','.gif','.ico','.jpeg','.jpg','.png','.ps','.psd','.svg','.tif','.tiff'),
21+
'web_extensions' : ('.asp','.aspx','.cer','.cfm','.cgi','.pl','.css','.htm','.html','.js','.jsp','.part','.php','.py','.rss','.xhtml'),
22+
'presentation_extensions' : ('.key','.odp','.pps','.ppt','.pptx'),
23+
'programming_extensions' : ('.c','.class','.cpp','.cs','.h','.java','.pl','.sh','.swift','.vb'),
24+
'spreadsheet_extensions' : ('.ods','.xls','.xlsm','.xlsx'),
25+
'system_realated_extensions': ('.bak','.cab','.cfg','.cpl','.cur','.dll','.dmp','.drv','.icns','.ico','.ini','.lnk','.msi','.sys','.tmp'),
26+
'video_extensions' : ('.3g2','.3gp','.avi','.flv','.h264','.m4v','.mkv','.mov','.mp4','.mpg','.mpeg','.rm','.swf','.vob','.wmv'),
27+
'file_extensions' : ('.doc','.docx','.odt','.pdf','.rtf','.tex','.txt','.wpd'),
28+
}
29+
30+
folderpath=input("Please Enter Path:\n")
31+
32+
def file_finder(folder_path,file_extension):
33+
# files=[]
34+
# for file in os.listdir(folder_path):
35+
# for extension in file_extension:
36+
# if file.endswith(extension):
37+
# files.append(file)
38+
# return files
39+
return [file for file in os.listdir(folder_path) for extension in file_extension if file.endswith(extension)]
40+
41+
42+
43+
44+
45+
# print(file_finder(folderpath,file_extensions)) #o/p: ['r.pdf']
46+
# s=[]
47+
# s=os.listdir(folderpath)
48+
49+
for extension_type, extension_tuple in dict_extensions.items():
50+
folder_name=extension_type.split('_')[0].title()+" Files"
51+
folder_path=os.path.join(folderpath,folder_name)
52+
# if folder_name not in s:
53+
# os.mkdir(folder_path)
54+
for files in file_finder(folderpath,extension_tuple):
55+
if os.path.exists(folder_path):
56+
pass
57+
elif files==[]:
58+
pass
59+
else:
60+
os.mkdir(folder_path)
61+
item_old_path=os.path.join(folderpath,files)
62+
item_new_path=os.path.join(folder_path,files)
63+
shutil.move(item_old_path,item_new_path)
64+
65+
66+
67+
# print("calling filefinder...\n")
68+
# print(file_finder(folderpath,extension_type))
69+
70+
71+

0 commit comments

Comments
 (0)