1

我正在使用PEXIF 模块来读取和编辑 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')

如何解锁文件?

4

1 回答 1

0

为什么不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块的范围结束时文件句柄将被关闭,因此重命名将起作用。

于 2013-10-24T19:05:44.107 回答