Finding file details...
Kam-Hung Soh
kamhung.soh at gmail.com
Thu May 29 22:12:36 EDT 2008
Roger Upole wrote:
> Kalibr wrote:
>> I've been trying to figure out how to find the details of files
>> (specifically music for now) for a little sorting script I'm making,
>> My aim is to get details on the artist, album, and genre for mp3 and
>> wma files (possibly more in the future). My closest match was when I
>> stumbled accross PyMedia, but it only supports up to 2.4 (I have 2.5).
>> Now I see a bit mentioned on GetFileVersionInfo, but that doesn't seem
>> to help (and most of it went over my head). Is there any module I can
>> use to find this sort of data? I'm trying to not make it specialised
>> in music, because I may want to extend this to picture, movie, text
>> etc. files in the future. Any ideas how I could go about this?
I think GetFileVersionInfo() only provides version information for DLL
and EXE files.
See: http://msdn.microsoft.com/en-us/library/ms646981.aspx
>
> You can use the shell COM objects to access media properties
> as shown by Explorer.
>
> import win32com.client
> sh=win32com.client.Dispatch('Shell.Application')
>
> folder= r'M:\Music\Bob Dylan\Highway 61 Revisited'
> ns=sh.NameSpace(folder)
>
> ## the column index for Artist may vary from folder to folder
> for c in range(0,255):
> colname=ns.GetDetailsOf(None, c)
> if colname=='Artists': ## This shows up as just Artist on XP
> for i in ns.Items():
> artist=ns.GetDetailsOf(i, c)
> if artist:
> print ns.GetDetailsOf(i, 0), artist
> break
>
>
> Roger
Great tip, Roger! This solution works for WMA files (I don't have any
MP3 files handy), so I think it would work for any media files in Windows.
--
Kam-Hung Soh <a href="http://kamhungsoh.com/blog">Software Salariman</a>
More information about the Python-list
mailing list