1

我正在尝试使用python获取文件的媒体创建日期时间,参考这个问题,Python - 如何读取Windows“媒体创建”日期(不是文件创建日期),我已经成功地从答案中获得了媒体创建日期时间由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 关键字删除了删除引用的变量属性并且它起作用了。

4

1 回答 1

0

只需设置 properties = None ,一旦对象被释放,文件句柄将被关闭。我尝试了我的脚本并工作了

于 2019-10-12T00:24:44.393 回答