我正在运行一个脚本,该脚本遍历目录结构并在目录中的每个文件夹中生成新文件。我想在创建后立即删除一些文件。这是我的想法,但我想是错的:
directory = os.path.dirname(obj)
m = MeshExporterApplication(directory)
os.remove(os.path.join(directory,"*.mesh.xml"))
如何将通配符放在路径中?我想不喜欢/home/me/*.txt,但这就是我想要的。
谢谢, 加雷
答案 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)