import os
import shutil
movedir = 'F:\else\TEMP';
def readFile(file_dir):
for root, dirs, files in os.walk(file_dir):
return files,dirs,root
def deleteFiles(files,dirs,root):
for ii in files:
if ii.endswith('.tmp'):
print('delete:',ii)
tmpdir = root + '\\'+ ii
#shutil.move(tmpdir, movedir)
os.remove(os.path.join(root,ii))
for jj in dirs:
fi,di,ro = readFile(root + "\\" + jj)
deleteFiles(fi,di,ro)
if __name__ == '__main__':
files, dirs, root = readFile(r'F:\xxx')
deleteFiles(files, dirs, root)
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
这个代码可以删除文件夹以及子文件夹下所有.tmp文件
但是有的时候萌新不相信自己,害怕删除错误,所以可能希望制作一个回收站一样的功能。因此我们可以提供一个将所有tmp文件移动到一个文件夹,那么就可以用这段代码
import os
import shutil
movedir = 'F:\else\TEMP';
def readFile(file_dir):
for root, dirs, files in os.walk(file_dir):
return files,dirs,root
def deleteFiles(files,dirs,root):
for ii in files:
if ii.endswith('.tmp'):
print('delete:',ii)
tmpdir = root + '\\'+ ii
shutil.move(tmpdir, movedir)
#os.remove(os.path.join(root,ii))
for jj in dirs:
fi,di,ro = readFile(root + "\\" + jj)
deleteFiles(fi,di,ro)
if __name__ == '__main__':
files, dirs, root = readFile(r'F:\xxx')
deleteFiles(files, dirs, root)
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
其实应该就是删除一行换了一行。
不过其实这里有一个小bug---如果已经存在一样的名字是移动不过去的。
所以这里我们可以创建一些新的文件夹,将每个时间段的tmp移动到对应的文件夹里面去
import os
import shutil
movedir = 'F:\else\TEMP'
def readFile(file_dir):
for root, dirs, files in os.walk(file_dir):
return files,dirs,root
def deleteFiles(files,dirs,root,savenum):
#创建新的保存路径
saveroot = movedir + '\\' +str(savenum)
if os.path.exists(saveroot):
pass
else:
os.mkdir(saveroot)
# 遍历当前路径文件
for ii in files:
if ii.endswith('.tmp'):
print('delete:',ii)
tmpdir = root + '\\'+ ii
shutil.move(tmpdir, saveroot)
#os.remove(os.path.join(root,ii))
# 遍历当前路径文件夹
numnum = 0
for jj in dirs:
numnum = numnum + 1
fi,di,ro = readFile(root + "\\" + jj)
deleteFiles(fi,di,ro,savenum*100+numnum)
if __name__ == '__main__':
files, dirs, root = readFile(r'F:\xxx')
deleteFiles(files, dirs, root , 0)
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
这里的加文件夹有些蠢,读者可以自己改改。不过win生成的tmp一般不会重名,直接用第二个就行,还比较简洁
|