试图通过扩展名删除文件

时间:2018-03-08 10:48:13

标签: python python-3.x

所以我试图通过扩展删除文件,一切似乎工作正常 - 我可以找到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



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 path:
    if item.endswith(".drx"):
        os.remove(item)

2 个答案:

答案 0 :(得分:3)

drx是以drx结尾的文件列表,您可以

for item in drx:
    os.remove(item)

path只是一个字符串(您要搜索的路径的名称),因此循环遍历字母。

答案 1 :(得分:0)

for item in path:
    if item.endswith(".drx"):
        os.remove(item)
  1. 这里你的路径类似于"/home/path/to/file.drx",所以循环过来会让@FlyingTeller指出你的角色一个接一个。
  2. 您不需要再次if item.endswith(".drx")。你已经使用list comprehensiton drx = [x for x in os.listdir() if x.endswith(".drx")]完成了这项工作。只是使用它。
  3. for item in drx: os.remove(item)

    1. 你的代码很乱。你可以print("\n"*3)打印3个空行