使用Python删除特定文件

18 投票
3 回答
20419 浏览
提问于 2025-04-16 21:35

我有一个Python脚本,它处理扩展名为'.hgx'的文件。例如:test.hgx(有很多这样的.hgx文件)。

这个脚本处理test.hgx文件,并创建一个新的test_bac.hgx文件。如果再次运行这个脚本,它会创建test_bac_bac.hgx文件。所以每次运行这个脚本时,都会生成一个带有'_bac'的文件。

有没有什么办法可以让我在实际代码开始之前,删除所有已经存在的'_bac'和'_bac_bac...'文件呢?

我已经在使用glob.glob这个函数。

for hgx in glob.glob("*.hgx"):  

我可以用这个函数来删除这些文件'X_bac.hgx'和其他'_bac_bac..hgx'文件吗?

任何帮助或想法都非常感谢。

谢谢

3 个回答

1

使用 glob.glob("*_bac.hgx") 这个命令可以找到所有符合条件的文件。接下来,你可以在循环中用 os.remove 这个函数来删除这些文件。

8

一个非常相似的解决方案是

import os
import glob
map(os.remove, glob.glob("*_back.hgx"))

不过,除了这个写法稍微简洁一些之外,你还可以节省一个在当前命名空间里的变量名。

32
import os
import glob
for hgx in glob.glob("*_bac.hgx"):
  os.remove(hgx)

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。

撰写回答