为什么这个Python脚本会删除’.txt’文件,以及所有’.tmp’文件?

我正在尝试编写一个脚本,它会自动删除特定文件夹中的所有临时文件,我注意到这个脚本也会删除该文件夹中的所有文本文件.任何人都可以解释为什么这样做?

   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 PC 64位上使用Python 2.7.10运行此脚本.

谢谢!

最佳答案 我假设你的意思是提供扩展名单.但在您的情况下,扩展名定义为(‘.tmp’),它不是元组而是字符串.这会导致代码循环遍历所有文件并检查以.,t,m和p结尾的名称,从而删除.txt文件.

这里的修复是将扩展定义为[‘.tmp’]或(‘.tmp’,)(注意尾随).

点赞