Python-删除除以下文件以外的所有文件
问题内容:
我有一个Python脚本,并且尝试删除该目录中.csv文件以外的所有文件。在此行的“ not”上获取语法错误:
for CleanUp not in glob.glob("c:\python\AIO*.*"):
如果删除“ not”,它将删除AIO.csv文件,但是我需要保留该文件,并且仅保留该文件。不清楚为什么它不起作用。
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 not in glob.glob("c:\python\AIO*.*"):
os.remove(CleanUp)
问题答案:
试试这个
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不会打印任何目录,只显示文件,它还可以获取完整路径,因此您可以调用os.remove(CleanUp)
。这应该工作。它可以在我的Windows
7 x64机器上运行。
我认为您的问题是您在哪里循环了c:\python\AIO*.*
文件路径,因此它只执行一个循环并终止,从而跳过目录中的所有其他文件