如何释放PyIPropertyStore实例以允许os.rename

时间:2019-03-06 07:20:42

标签: python-3.x windows media pythoncom

我正在尝试使用python获取文件的媒体创建日期时间,参考这个问题Python - how to read Windows "Media Created" date (not file creation date),我已经成功地从https://stackoverflow.com/users/205580/eryksun提供的答案中获取了媒体创建日期时间

但是,随后的操作os.rename(file_i_got_media_created_datetime_from,destination_path)将不会执行,不会显示任何错误。下班后我发现这可能是因为 properties = propsys.SHGetPropertyStoreFromParsingName(filepath)仍然持有对该文件的引用,因此,如果不释放该引用,os.rename无法继续进行重命名。

我想知道如何释放对文件的引用/指针,以便可以将其释放给os.rename以完成其工作。

顺便说一句,我已经在pythoncom上进行了广泛的搜索,但还没有获得有关如何执行此操作的线索,该文档还不太清楚,并且lib上的教程也不多。

编辑: 我使用了del关键字删除了删除引用的变量属性,并且该属性起作用了。

1 个答案:

答案 0 :(得分:0)

just set properties = None,一旦对象被释放,文件句柄将被关闭。我尝试使用脚本并工作了