gpt4 book ai didi

python - 使用python有选择地删除文件夹的内容

转载 作者:行者123 更新时间:2023-12-01 04:50:26 24 4
gpt4 key购买 nike

我想定期删除 Windows 目录的内容,其中包括文件和包含更多文件的子目录。但是,我没有不想删除的特定文件(每次都是同一个文件)。我正在使用 shutdown.rmtree 来删除文件夹的内容,但我也删除了我希望保留的文件。我如何设置异常(exception)以防止删除我想要保留的文件,shutil 是最好的方法吗?

最佳答案

要获取目录中的路径名列表,请使用 glob :

假设您只想查找 .gif 文件并删除它们:

import glob
gif_list = glob.glob('your/path/name/'+'*.gif')

对于您的路径,这将找到所有以 .gif 结尾的文件。您可以删除它们、复制它们,做任何您想做的事情。

或者,使用列表理解:

import glob
#just get a list of all the files/folders in your path:
path_list = glob.glob('your/path/name/'+'*')
gif_list = [x for x in file_list if x[-4:] == '.gif']

当然,Glob 也会找到所有文件夹。您可以过滤出要保留的文件和/或文件夹,并使用 rmtree 删除其余的。例如,假设您想保留名为 keep.me 的文件:

import glob 
path_list = glob.glob('your/path/name/'+'*')
del_list = [x for x in path_list if x != 'your/path/name/'+'keep.me']

像这样的东西应该可以工作。尝试一下!

关于python - 使用python有选择地删除文件夹的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28608641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com