需求:按图片分辨率范围分类图片(每个商品有N张图片在一个目录内)。

实现:用PIL Image打开图片并读取宽度和高度。然后按不同分辨率存档到不同目录。

问题:从原有目录移动到目标目录时出现 “PermissionError: [WinError 5] 拒绝访问。: 'E:\\src\\dir1' -> 'E:\\des\\dir1'” 和 “PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'E:\\src\\dir1\\imagename.jpg'”。

原因:Image.open(fullfilename) 后没有关闭。(注:Image 没有close方法)。

解决方案:

fp = open(fullfilename,'rb')
img = Image.open(fp)  #这里改为文件句柄
fp.close()
 
参考:http://www.cnblogs.com/zzy0471/archive/2012/04/19/2456450.html  https://www.v2ex.com/t/236577

Python3 PIL Image 操作文件后导致占用问题的更多相关文章

  1. Centos7修改profile文件后导致vi command not find

    Centos7修改profile文件后导致vi command not find,原因是profile文件没有配置正确,系统就无法找到精确命令了.解决方法: 1.在命令行中输入:export PATH ...

  2. 修改hadoop配饰文件文件后导致hive无法找到原有的dfs文件

    修改了hadoop/etc/hadoop/core-site.xml文件中的 <property> <name>fs.defaultFS</name> <va ...

  3. 由于jsp include 很多文件后导致java类大小超过65535 bytes 的解决方法(转载)

    昨天,我遇到了一個讓我很頭疼的問題. 我做了一個共通的jsp,單只測它是ok的,可是,放在別的jsp中include它,就會報錯如標題所示:The code of method _jspService ...

  4. mysql启动后随即关闭问题解决(ibdata1文件损坏导致)

    机房一台服务器上的mysql运行一段时间了,突然出现了一个很奇怪的现象:重启后无法恢复了!准确情况是:启动mysql后随即就又关闭了. 查看mysql错误日志如下: 160920 22:41:41 m ...

  5. ride.py在运行python3.×版本后导致无法运行及解决办法

    最近一直在自学python自动化,网上看到rf框架挺适合初学自动化测试,于是通过虫师的搭建了rf框架, 但是在使用过程中遇到了一个问题,在网上没有找到明确解决办法于是想到记录一下 之前为了搭建rf框架 ...

  6. Python3 IO编程之操作文件和目录

    如果我们要操作文件,目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如ls,cp等命令 如果要在python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令指示简单地调用了操作系 ...

  7. Python3.5学习笔记-文件操作

    在Python中,操作文件对象使用open函数来创建,下表列出了常用的操作file的函数: 序号 方法及描述 1.file.close() 关闭文件.关闭后文件不能再进行读写操作. 2.file.fl ...

  8. C#使用File.Create()创建文件后资源被占用

    由于文件被占用不能读写,所以报错“另一个程序正在使用此文件进程无法访问” 解决方法是在创建文件后立即Dispose掉 File.Create(path).Dispose();

  9. Python3.x:open()文件操作

    Python3.x:open()文件操作 open/文件操作: #open(路径+文件名,读写模式) #读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式 f=ope ...

随机推荐

  1. 算法Sedgewick第四版-第1章基础-018一解决不能声明泛型数组的两咱方法(强转或反射)

    1. /****************************************************************************** * Compilation: ja ...

  2. C语言-郝斌笔记-003数据类型

    基本类型数据 整数 整型     —— int      --4字节  短整型   —— short int   ——2字节 长整型   —— long int    ——8字节      浮点数[实 ...

  3. 基于GStreamer编写Mp3播放器

    一.简介 作者系统为CentOS6,本文在此基础上对Mp3播放器进行开发,需要使用mp3解码库libmad和gstreamer0.10-plugins-ugly,详细步骤如下.   二.操作步骤 1) ...

  4. [转载]/etc/security/limits.conf解释及应用

    limits.conf的格式如下: username|@groupname type resource limit username|@groupname:设置需要被限制的用户名,组名前面加@和用户名 ...

  5. Direct ByteBuffer学习

    ByteBuffer有两种一种是heap ByteBuffer,该类对象分配在JVM的堆内存里面,直接由Java虚拟机负责垃圾回收,一种是direct ByteBuffer是通过jni在虚拟机外内存中 ...

  6. java全栈day04--方法

    day04内容介绍 1  方法基础知识 2  方法高级内容 3  方法案例 一  方法的概念 A:为什么要有方法 提高代码的复用性 B   什么是方法 完成特定功能的代码块 修饰符  返回值类型  方 ...

  7. STL--C++中 destory() 和deallocate()以及delete函数的相关性和区别性,destorydeallocate

    这里非常的绕口  需要仔细的来看看: destory(): 显示调用一个对象的析构函数 相当于释放一个对象需要释放的一些动态内存 为下次真正释放对象做准备 deallocate():真正的释放一个内存 ...

  8. angularjs+requlirejs 搭建前端框架(1)

    第一部分:发发牢骚吧 随着富前端时代的逐渐深入,越来越多的前端技术框架层出不穷,可以说是百花齐放.让我们这些爱好前端的人疲于奔命,今天学习这个框架,明天研究那个框架,哎,说不出的蛋疼...感觉好累.. ...

  9. python 全局搜索路径

    在~/.bachrc中添加 export PYTHONPATH=$PATHONPATH:[需要添加的路径]

  10. vimrc配置-新建文件时自动生成文件头

    vimrc配置-新建文件时自动生成文件头    auto add file header autocmd BufNewFile *.py 0r /home/zxkletters/.vim/vim_te ...