【问题标题】:How to unlock file locked by pexif如何解锁被pexif锁定的文件
【发布时间】:2013-10-24 18:59:59
【问题描述】:

我正在使用PEXIF module 读取和编辑JPEG 文件中的EXIF 数据。读取文件数据后,我想重命名该文件,但到那时它已被锁定,os.rename() 抛出 WindowsError

import pexif, os
f = 'oldName.jpg'
img = pexif.JpegFile.fromFile(f)
print img.exif.primary.ExtendedEXIF.DateTimeOriginal
os.rename(f, 'newName.jpg')

如何解锁文件?

【问题讨论】:

    标签: python windows-7 exif filelock


    【解决方案1】:

    为什么不改用fromFd

    f = 'oldName.jpg'
    with open(f, "rb") as fd:
        img = pexif.JpegFile.fromFd(fd)
    print img.exif.primary.ExtendedEXIF.DateTimeOriginal
    os.rename(f, 'newName.jpg')
    

    with 块的作用域结束时文件句柄将关闭,因此重命名将起作用。

    【讨论】:

    • 谢谢!不完全是我所要求的,但可能是我应该一直要求的:)
    • 是的,我很惊讶文件没有释放文件句柄。听起来这是库中的错误
    • 我修补了 pexif 以正确关闭文件句柄并在这里提交了一个拉取请求:github.com/bennoleslie/pexif/pull/1 - 希望作者接受它。
    • 这绝对是 pexif 库中的一个错误。我已经合并了上述的拉取请求。谢谢 Aphex。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 2016-12-11
    • 2018-07-18
    相关资源
    最近更新 更多