最近在使用python进行筛选图片的时候,想到用python里面的os库进行图片的删除。

具体筛选方法就是,删除掉图片长度或宽度小于100像素的图片,示例代码如下所示:

for file in os.listdir(img_path):
if file.split('.')[-1]=='jpg':
img = Image.open(os.path.join(img_path,file))
#img.close() bug修改代码
size = list(img.size)
if size[0] > 100 or size[1] > 100:
pass
else:
os.remove(os.path.join(img_path,file))
print(file)

在运行上述代码的时候,会报出如下错误:

解决方案:不管是PIL、opencv等python库在open一张图片的时候,我们是不能进行删除操作的,就像错误提示的那样,当前文件被另一个程序使用,解决方法就是加上下面这行代码

img.close()  #bug修改代码

如此,错误成功解决。

总结:

  一、以后不管是图像文件还是txt等文本文件,当我们在进行open的时候,一定要记得close掉,甚至还可以扩展到只要使用了open函数,就一定记得close掉。
  二、在这里只是删除的时候会报这个错误,那么如果是对图片数组进行修改、或者移动图片的时候会不会同样报这个错误呢?这个猜想留待以后验证。

错误:PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。"+文件路径"的解决方案的更多相关文章

  1. Windows安装python包出现PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问的问题解决方案

    在python中安装sqlalchemy时,总是提示(当安装依赖有vs的python包时,可能会出现以下错误:) PermissionError: [WinError 32] 另一个程序正在使用此文件 ...

  2. PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\video\\AppData\\Local\\Temp\\tmpfipzk8ma'--问题解决

    学习python+selenium总是遇到各种问题 代码如下: from selenium import webdriverbrowser = webdriver.PhantomJS() #浏览器初始 ...

  3. IIS错误提示:另一个程序正在使用此文件 进程无法访问

    在IIS管理中,启动一个配置好的网站时,提示:另一个程序正在使用此文件 进程无法访问 原因:网站绑定端口被占用 解决办法:更换绑定端口或者将占用此端口的程序关掉即可

  4. IIS “另一个程序正在使用此文件,进程无法访问"

    重启iis,提示"另一个程序正在使用此文件,进程无法访问".一开始就怀疑是80端口被占用,修改iis的端口为其它端口,重启iis, 果然成功. 在命令行,netstat -nabo ...

  5. C# FTP远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件)

    今天用代码删除FTP服务器上的目录时候,报错:远程服务器返回错误:(550) 文件不可用(例如,未找到文件,无法访问文件). 习惯性的google,不外乎以下几点: 1.URL路径不对,看看有没有多加 ...

  6. IIS:另一个程序正在使用此文件进程无法访问。

    启动网站时,遇到这个错误,一般是端口已经被占用,更换一个空闲端口即可. 通过以下命令可查询 根据最后一列的数字在任务管理器中可查看被哪个程序占用了

  7. 20190713_windows 2008 R2在启动网站时报错_另一个程序正在使用此文件,进程无法访问

    80端口已经被占用了; 换个端口就好了, 如果你是云服务器, 记得控制台也要开放对应的端口

  8. 原创:解决 python中moviepy调用ffmpeg的错误:subprocess, PermissionError: [WinError 5] 拒绝访问

    近期运行一个python程序用到了moviepy.editor.VideoFileClip() moviepy基于ffmpeg,但是并不是pip安装的ffmepg, 执行 import imageio ...

  9. 64位系统下,一个32位的程序究竟可以申请到多少内存,4GB还是更多?(一)

    前言: cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推.32位操作系统针对的32位的CPU设计.64位操作系统针对的64位的CPU设计.操 ...

随机推荐

  1. Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'jdbc.username' in string value "${jdbc.username}"

    1.启动dubbo的引用dubbo服务时候报下面这个错误,这是由于去找dubbo的发布服务未找到报的错误,所以先启动dubbo的发布服务即可. [INFO] Scanning for projects ...

  2. ElasticSearch简介(一)——基础

    基本概念 1.  Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点 ...

  3. C#工具类SqlServerHelper,基于System.Data.SqlClient封装

    源码: using System; using System.Collections.Generic; using System.Data; using System.Linq; using Syst ...

  4. 工作笔记--adb命令篇

    1.抓log方法 (bat文件) mkdir D:\logcatset /p miaoshu=请描述操作:adb logcat -v threadtime > D:\logcat\%miaosh ...

  5. this.$route和this.$router区别

    this.$route 和 this.$router 这两个对象有什么区别: this.$route 是当前路由跳转对象,包含当前路由的name.path.query.params等属性 this.$ ...

  6. selenium和AutoIt工具辅助下载和上传

    上传 根据AutoIt Windows Info 所识别到的控件信息打开SciTE Script Editor编辑器,编写脚本. ;ControlFocus("title",&qu ...

  7. Spark(4)

    Spark Core官网学习回顾 Speed disk 10x memory 100x Easy code interactive shell Unified Stack Batch Streamin ...

  8. GCN实现3

    参考 : 首先看两篇论文,大概了解一下原理性的东西: GRAPH CONVOLUTIONAL NETWORKS THOMAS KIPF, 30 SEPTEMBER 2016 http://tkipf. ...

  9. 关于微信开发者工具创建项目和导入项目半天不响应或者socket hang out

    笔者的电脑系统是macOS Catalina(10.15),其实之前的系统版本也遇到一样的问题,网络环境是学校实验室. 解决办法:连接手机Wi-Fi 原理:目前不清楚,清楚的小伙伴可在下方留言交流

  10. JS高阶---继承模式(借用构造函数继承+组合继承)

    (1)借用构造函数继承 案例如下: 验证: (2)组合继承 案例如下: 验证如下: 结果如右图所示 . .