Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python(Windows Vista)检索列表中文件的标记?_Python_Windows Vista_Tags - Fatal编程技术网

如何使用Python(Windows Vista)检索列表中文件的标记?

如何使用Python(Windows Vista)检索列表中文件的标记?,python,windows-vista,tags,Python,Windows Vista,Tags,我想为我拥有的各种文件夹制作一些标签云,但不幸的是,我似乎找不到一种方法来访问WindowsVista中文件的标签。我试着查看win32模块和os.stat,但似乎找不到方法。我能在这方面得到一些帮助吗?显然,您需要使用查找功能——您可以通过API的程序集直接或间接(需要)访问API。对不起,我没有要检查的vista安装,但我希望这些链接有用 Windows似乎将标记存储在文件中。 只需标记任何图像并在记事本中打开图像,查找类似XML的内容(),您就会在那里找到您的标记。好。。。现在我们知道它们

我想为我拥有的各种文件夹制作一些标签云,但不幸的是,我似乎找不到一种方法来访问WindowsVista中文件的标签。我试着查看win32模块和os.stat,但似乎找不到方法。我能在这方面得到一些帮助吗?

显然,您需要使用查找功能——您可以通过API的程序集直接或间接(需要)访问API。对不起,我没有要检查的vista安装,但我希望这些链接有用

Windows似乎将标记存储在文件中。 只需标记任何图像在记事本中打开图像查找类似XML的内容(),您就会在那里找到您的标记。好。。。现在我们知道它们确实存储在文件中,但我们仍然不知道如何操作它们

但谷歌正在出手相救。我用谷歌搜索:windows元数据api


我发现:

我用win32 extensions软件包和我找到的一些演示代码进行了讨论。我在网上发布了一个详细的过程说明。我不想在这里全部复制,但这里是简短的版本(点击前面的链接了解详细信息)

  • 下载并安装
  • Grab Tim Golden就是为这项任务而写的
  • 将Tim的代码保存为您自己计算机上的模块
  • 调用新模块的
    属性\u set
    方法(提供必要的文件路径)。该方法返回一个生成器对象,该对象是iterable。请参阅以下示例代码和输出
  • (这至少在XP中对我有效。)

    例如

    上述代码的输出如下所示:

    DocSummaryInformation
       PIDDSI_CATEGORY => qux
    SummaryInformation
       PIDSI_TITLE => foo
       PIDSI_COMMENTS => flam
       PIDSI_AUTHOR => baz
       PIDSI_KEYWORDS => flim
       PIDSI_SUBJECT => bar
    

    文档属性实际上有两种不同的实现()

  • COM实现将它们直接嵌入到文件本身中:例如,这是用于Office文档的方法。Tim Golden在本页中描述的代码适用于这些情况

  • 在NTFS 5(Win2k或更高版本)上,您可以将摘要信息添加到任何文件,并将其存储在备用数据流中。我想Windows Search API可以处理这些问题,但我还没有对其进行测试


  • 您是否在其他Windows版本(如Vista/Seven)上尝试过此功能?尚未尝试。(我想我永远不会尝试Vista的任何东西。)它可以在所有OSs上运行,尽管它与python2兼容。需要一些调整才能使用python 3。例如,
    str
    代替
    unicode
    ,并更新
    的try except
    语句
    DocSummaryInformation
       PIDDSI_CATEGORY => qux
    SummaryInformation
       PIDSI_TITLE => foo
       PIDSI_COMMENTS => flam
       PIDSI_AUTHOR => baz
       PIDSI_KEYWORDS => flim
       PIDSI_SUBJECT => bar