我一直在尝试构建一个工作程序,在我们导出静止图像时删除软件生成的不需要的文件。
我很满意它是如何工作的。您只需删除所需的文件夹,它将删除该文件夹中的所有文件。但是我的老板看到我使用它并询问他是否可以直接删除顶级目录文件夹,它会进入每个文件夹并删除DRX以节省他为每个文件夹手动操作的时间。
这是我目前的计划 -
#!/usr/bin/env python3
import os
import sys
import site
import threading
import time
from os import path
from os import listdir
from os.path import isfile, join
while True:
backboot = 'n'
while backboot == 'n':
print ("")
file = (input("Please drag and drop the folder containing DRX files you wish to delete : "))
path = file[:-1]
os.chdir(path)
drx = [x for x in os.listdir() if x.endswith(".drx")]
amount = (str(len(drx)))
print("")
print("")
print("")
print ('I have found ' + amount + ' files with the .drx extension and these will now be deleted')
print("")
print("")
print(*drx,sep='\n')
print("")
print("")
print("")
exts = ('.drx')
for item in drx:
if item.endswith(".drx"):
os.remove(item)
print ('Deleted ' + amount + ' files.')
print('')
我了解OS.walk
它通过在树上向上或向下生成给定目录中的trees
或文件夹。到目前为止,我有用户输入路径位置 -
file = (input("Please drag and drop the folder containing DRX files you wish to delete : "))
path = file[:-1]
os.chdir(path
然后我扫描DRX files
drx = [x for x in os.listdir() if x.endswith(".drx")]
并将其转换为字符串,以便告诉用户我找到了多少文件。
amount = (str(len(drx)))
所以,我猜,我需要在DRX扫描之前或期间实现OS.walk吗?功能更好吗?我只想试着绕着OS.walk
,所以任何帮助都会让人惊叹。 :)
我想,我完全不知道如何让OS.walk
读取我的路径变量。
for root, dirs, items in os.walk(path):
答案 0 :(得分:0)
root
是path
输入的绝对路径,dirs
和items
是包含每个目录的列表。和文件root
内root
的相对路径。
for root, dirs, items in os.walk(path):
for file in filter(lambda x: x.endswith(".drx"), items):
file_path = os.path.join(root, file)
#do what you like to do