I wrote a code which moves the files which has a substring in them.
import os
import shutil
def move():
path = os.getcwd()
shutil.rmtree('Animals')
firstfolder = 'Animals'
if not os.path.isdir(firstfolder):
os.mkdir('Animals')
for file in os.listdir():
Buffalo = '1837'
donkey = '6104'
Chimpanzee = '9731'
cat = '2905'
rat = '6648'
sheep = '3128'
lizard = '3053'
insect = '2681'
dog = '3901'
#Buffalo
if Buffalo in file:
secondfolder = 'Animals/Buffalo'
thirdfolder = 'Animals/Buffalo/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#donkey
if donkey in file:
secondfolder = 'Animals/donkey'
thirdfolder = 'Animals/donkey/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#Chimpanzee
if Chimpanzee in file:
secondfolder = 'Animals/Chimpanzee'
thirdfolder = 'Animals/Chimpanzee/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#cat
if cat in file:
secondfolder = 'Animals/cat'
thirdfolder = 'Animals/cat/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#rat
if rat in file:
secondfolder = 'Animals/rat'
thirdfolder = 'Animals/rat/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#sheep
if sheep in file:
secondfolder = 'Animals/sheep'
thirdfolder = 'Animals/sheep/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#lizard
if lizard in file:
secondfolder = 'Animals/lizard'
thirdfolder = 'Animals/lizard/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#insect
if insect in file:
secondfolder = 'Animals/insect'
thirdfolder = 'Animals/insect/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
#dog
if dog in file:
secondfolder = 'Animals/dog'
thirdfolder = 'Animals/dog/testfolder'
if not os.path.isdir(secondfolder):
os.mkdir(secondfolder)
if not os.path.isdir(thirdfolder):
os.mkdir(thirdfolder)
shutil.move(file, thirdfolder)
move()
In my Current Working Directory, i have these files: 1):- 2905r20.wav 2):- 5fm2905.wav 3):- nso2905.wav 4):-1sny2905wn3i56.wav
When i Run the Code, it is only moving the last file which is 1sny2905wn3i56.wav. It is Not Moving all the files which has 2905 in them. It Should move all 4 files. but i don't know why it is only moving last file. When I Run the Code again after moving the last file, it is moving 3rd file and deleting 4th file which was moved. And When i run the code again, it is deleting 3rd file and moving 2nd file and so on...
how to fix that ??