为什么这个Python脚本会删除';。txt';文件,以及所有的';。tmp&x27;文件夹?

为什么这个Python脚本会删除';。txt';文件,以及所有的';。tmp&x27;文件夹?,python,python-2.7,os.walk,os.path,Python,Python 2.7,Os.walk,Os.path,我正在尝试编写一个脚本,该脚本将自动删除特定文件夹中的所有临时文件,我注意到该脚本还将删除该文件夹中的所有文本文件。有人能解释为什么会这样吗 import os path = 'C:\scripts27' for root, dirs, files in os.walk(path): for currentFile in files: print "processing file: " + currentFile ext

我正在尝试编写一个脚本,该脚本将自动删除特定文件夹中的所有临时文件,我注意到该脚本还将删除该文件夹中的所有文本文件。有人能解释为什么会这样吗

   import os
   path = 'C:\scripts27'
   for root, dirs, files in os.walk(path):
       for currentFile in files:
           print "processing file: " + currentFile
           extensions=('.tmp')
           if any(currentFile.lower().endswith(ext) for ext in extensions):
               os.remove(os.path.join(root, currentFile))
我正在Windows 8.1 64位PC上使用Python 2.7.10运行此脚本


谢谢

我想你的意思是提供一个扩展列表。但是在您的例子中,
扩展
被定义为
('.tmp')
,它不是元组而是字符串。这会导致代码在所有文件上循环,并检查以
t
m
p
结尾的名称,从而删除
.txt
文件


这里的修复方法是将扩展定义为
['.tmp']
('.tmp',)
(注意后面的
)。

就是这样!谢谢。@Basper82-
如果currentFile.lower().endswith('.tmp'):做些事情