3c273 wrote: > Hello, > When I run the following at an interactive interpreter on Windows XP, I get > the expected results. But if I save it to a file and run it, it generates > the following error. (And it generates the same error either way on Windows > 2000) > > import wmi > c=wmi.WMI() > for item in c.win32_PhysicalMedia(): > print item
A couple of things: + As someone else has pointed out, Win32_PhysicalMedia appears to be new to XP/2k3. (This happens quite a lot with WMI classes; you need to check the small-print). So that explains why it won't work on your Win2K box nor on mine. + In addition, the bit after the "c." (here, Win32_PhysicalMedia) is case-sensitive. So you have to put c.Win32_PhysicalMedia (notice the capital "W"). I'm not actually sure why this should be, and when I get a moment I'll take a look at the code to see, but it's true nonetheless. Under the covers, the module is doing exactly what Michel showed you in his second post (WMIS = GetObject etc.) > Strange that this does not return the serial number > reported by other hardware utilities (SIW for one) and on both of my > machines this number ends with 202020202020202020202020??? Strange indeed. Unfortunately, what you see is what you get with WMI. I don't have access to an XP machine to test, but let me know if this code doesn't work: <code> import wmi c = wmi.WMI () for item in c.Win32_PhysicalMedia (): print item </code> Good luck with WMI TJG -- http://mail.python.org/mailman/listinfo/python-list