我想删除多个文件,这些文件与长列表中的项目相匹配.

['photo-1777.jpg', 'photo-4277.jpg', 'photo-620.jpg', 'photo-1078.jpg']

我try 了以下代码,但无法删除文件.

import os
path = "D://photo"
list1=['photo-1777.jpg', 'photo-4277.jpg', 'photo-620.jpg', 'photo-1078.jpg']
for x in list1:
    if os.path.exists(x):
        os.remove(x)

推荐答案

这是您在不使用os.path.exists的情况下的操作方式:

from os import listdir, remove
from os.path import isfile, join

path = "D://photo/"
list1=['photo-1777.jpg', 'photo-4277.jpg', 'photo-620.jpg', 'photo-1078.jpg']

allfiles = [f for f in listdir(path) if isfile(join(path, f))]

for f in allfiles:
  if f in list1:
    try:
      remove(path+f)
    except:
      continue

希望这有帮助!

Python相关问答推荐

干燥化与列姆化的比较

判断Python操作:如何从字面上得到所有decorator ?

如何从比较函数生成ngroup?

当输入是字典时,`pandas. concat`如何工作?

当我定义一个继承的类时,我可以避免使用`metaclass=`吗?

Matplotlib中的曲线箭头样式

如何在Quarto中的标题页之前创建序言页

具有不同坐标的tkinter canvs.cocords()和canvs.moveto()

将标签与山脊线图对齐

Pandas ,快速从词典栏中提取信息到新栏

大Pandas 每月重新抽样200万只和300万只

元组列表:如果第一个元组元素匹配,则合并两个数据帧列

来自Scipy的各种样条线插值器之间有什么不同?

Python Pandas-如果满足多个条件,则将列表添加到数据框单元格

PANDA TO_DICT-按键列出行(_D)

如何在Python中返回多行SQL查询

基于条件的Pandas 数据框背景 colored颜色

使用boto3检索AWS机密

FlaskApp无法在Google Cloud Run上运行:服务不可用503错误

如何在多维情况下检验NumPy数组切片是否为副本?