Python-删除除以下文件以外的所有文件

发布于 2021-01-29 16:41:37

我有一个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)
关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    试试这个

    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*.*文件路径,因此它只执行一个循环并终止,从而跳过目录中的所有其他文件



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看