I have a Python script and I\'m trying to delete all files in this directory EXCEPT for the .csv file. Getting syntax error on the \"not\" in this line:
for
An alternate way would be get the list of files (glob.glob returns a list) and then remove the one item you want to preserve.
import os
import glob
import time
file_path = "c:\python\AIO.csv"
while not os.path.exists(file_path):
time.sleep(10)
if os.path.isfile(file_path):
# get list of files that match
cleanupFiles = glob.glob("c:\python\AIO*.*")
cleanupFiles.remove(file_path)
for cleanupFile in cleanupFiles:
os.remove(cleanupFile)
Try this instead
import os
import glob
import time
file_path = "c:\python\AIO.csv"
while not os.path.exists(file_path):
time.sleep(10)
if os.path.isfile(file_path):
#Verifies CSV file was created, then deletes unneeded files.
for CleanUp in glob.glob('C:/python/*.*'):
print CleanUp
if not CleanUp.endswith('AIO.csv'):
os.remove(CleanUp)
Glob doesn't print any directories, only files, and it also gets the entire path so you can just call os.remove(CleanUp). This should work. It works on my machine which is also Windows 7 x64.
I think your problem was that you where looping over the path c:\python\AIO*.* which is a file so it only does one loop and terminates which skips all other files in the directory