【问题标题】:How to release PyIPropertyStore instance to allow os.rename如何释放 PyIPropertyStore 实例以允许 os.rename
【发布时间】:2019-03-06 07:20:42
【问题描述】:

我正在尝试使用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 关键字删除了删除引用的变量属性并且它起作用了。

【问题讨论】:

    标签: python-3.x windows media pythoncom


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 2012-02-17
      • 2017-09-06
      • 2020-05-09
      • 2015-04-04
      • 1970-01-01
      相关资源
      最近更新 更多