为什么这个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'):做些事情
。