删除Python中的某些文件类型

时间:2010-06-03 00:53:56

标签: python

我正在运行一个脚本,该脚本遍历目录结构并在目录中的每个文件夹中生成新文件。我想在创建后立即删除一些文件。这是我的想法,但我想是错的:

directory = os.path.dirname(obj)
m = MeshExporterApplication(directory)
os.remove(os.path.join(directory,"*.mesh.xml"))

如何将通配符放在路径中?我想不喜欢/home/me/*.txt,但这就是我想要的。

谢谢, 加雷

2 个答案:

答案 0 :(得分:4)

您可以使用glob模块:

import glob
glob.glob("*.mesh.xml")

获取匹配文件列表。然后你逐个删除它们。

directory = os.path.dirname(obj)
m = MeshExporterApplication(directory)

# you can use absolute pathes in the glob
# to ensure, that you're purging the files in 
# the right directory, e.g. "/tmp/*.mesh.xml"
for f in glob.glob("*.mesh.xml"):
    os.remove(f)

答案 1 :(得分:0)

使用文件列表执行for循环作为循环的东西。

directory = os.path.dirname(obj)
m = MeshExporterApplication(directory)
for filename in os.listdir(dir):
    if not(re.match(".*\.mesh\".xml ,filename) is None):
        os.remove(directory + "/" + file)