当我尝试从目录列表中删除.zip文件时,我遇到了上述错误
>>> from os import listdir
>>> from os.path import isfile,join
>>> dr = listdir(r"C:\Users\lenovo\Desktop\ronit")
>>> dr
输出:
['7101', '7101.zip', '7102', '7102.zip', '7103', '7103.zip']
现在删除.zip文件,我写了以下代码:
>>> dr.remove("*.zip")
输出:
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
dr.remove("*.zip")
ValueError: list.remove(x): x not in list
我哪里错了?
答案 0 :(得分:2)
从list
中删除时不能使用通配符,如果要取消部分匹配,则必须遍历它,例如:
filtered_list = [file_name for file_name in dr if file_name[-4:] != ".zip"]
# ['7101', '7102', '7103']
答案 1 :(得分:0)
import os
from os import listdir
from os.path import join
dir = 'C:\\Users\\lenovo\\Desktop\\ronit'
dr=os.listdir(dir)
for f in dr:
if item.endswith(".zip"):
os.remove(join(dir, f))