有没有办法使用 python 设置 Windows 中文件的详细信息?

Is there a way to set the details of a file in Windows using python?

我希望能够使用 python 设置 Windows 中某些 mp3 文件的 "Title" 和 "Comments"(在 properties->details 中列出)。这可能吗,也许使用像 PyWin32 这样的库?此外,这些详细信息在其他操作系统中是否可见,或者它们是 Windows 特定的?谢谢

简单答案:

  • 是的,您可以使用 Python.
  • 设置 Windows 中 mp3 文件的 'Title' 和 'Comments'(以及许多其他字段)
  • 此外,详细信息在所有操作系统上都可见,并不 windows 特定。

首先您必须了解什么是 mp3 文件以及数据在 mp3 文件中的组织方式。

详细答案:

原始音频占用大量空间。例如,一个 10 秒的音频信号,采样频率为 48 kHz,每个样本的位深度为 16 位,大小为 10*48000*16 位,接近 1 MB。因此,一首 5 分钟的歌曲几乎需要 30 MB。但是,如果您观察,大多数 5 分钟的 mp3 歌曲的大小都在 5 MB 左右(当然这取决于采样频率、位深度和使用的压缩量)。这怎么可能?这是可能的,因为我们使用信号处理技术压缩数据,这本身就是一个大话题,我们不会在这里讨论。因此,要创建一个 mp3 文件,我们需要一种称为编码器的东西,它将原始音频数据转换为压缩数据,每次播放 mp3 歌曲时,都会使用解码器将数据从压缩格式转换为原始音频,这是你只能做的听。因此,压缩是为了节省存储空间和传输带宽(基本上节省了通过互联网传输的数据量)。

现在,我们来看看 mp3 文件中的数据是如何组织的。 mp3 文件显然包含压缩数据。此外,许多 mp3 文件包含一些元数据(例如您在问题中提到的标题和评论)。有多种格式可用于存储此元数据。所以,解码mp3文件的解码器也应该支持解码meta-data,那么只有你能看到信息,否则你看不到。 元数据独立于操作系统,只要您有合适的解码器,就可以在任何操作系统上看到。

最后,是的,您可以使用 python 编辑 windows 上的元数据(就此而言,任何 OS 上的元数据)。如果你想这样做,只使用 python 而没有任何库,你需要了解数据在 mp3 文件中的组织方式,找到其中的 meta-data ,编辑它并将其存储回去。但是,python 中的库和包支持编辑 mp3 文件 meta-data。您可以直接使用它们。此外,元数据独立于 OS,一旦您编辑了属性,只要您使用的解码器支持,您应该能够看到任何 OS 中的属性。

一些对您有帮助的链接: