Getting Windows computer system info
Bengt Richter
bokr at oz.net
Wed Nov 10 03:40:26 EST 2004
On 9 Nov 2004 09:47:31 -0800, gao_bolin at voila.fr (Bolin) wrote:
>I was wondering how to get some system info from a PC running Windows
>in python. I am especially interested in knowing how much RAM the
>computer has, how much diskspace is still left, and what jobs are
>already running and how much memory they take. If this is off-topic, I
>would appreciate if you redirect me.
>
>Thank!
I use this to get a quick summary of disk free space from the console
command line:
----< df.py >----------------------
import os
def df(drives='C', showna=1):
for drive in drives:
drive = drive.upper()
d = os.popen('dir/w '+drive+':\\').readlines()
if not d:
if showna: print '%s: (n/a)' % drive
continue
print '%s: (%-12s %12s bytes free ' %(
drive,
d[0].strip().split(' is ', 1)[-1]+')',
d[-1].strip().split(' bytes ')[0]
)
if __name__ == '__main__':
import sys
if len(sys.argv)<2: df()
else: df(sys.argv[1])
----------------------------------
actually, i start it with df.cmd, which has:
@python c:\util\df.py CDEVW
since those are my useful drive letters.
As for dynamic stuff, if it's just for you, see if you have pstat.exe on your path
(likely if you have MS dev tools). If so, try it from the command line
to see what it gives you. Then you can write a quick python function
to run it via popen and extract what you want from the read result, e.g.,
>>> import os
>>> for line in os.popen('pstat.exe'):
... if 'mem' in line.lower(): print line.rstrip()
...
Pstat version 0.3: memory: 327080 kb uptime: 0 21:40:12.957
Memory: 327080K Avail: 274140K TotalWs: 40132K InRam Kernel: 3264K P:12572K
c 18 22 8011f9ba 0:00:00.000 0:00:00.160 Wait:VirtualMemory
2a 17 1 801223a4 0:00:00.000 0:00:00.000 Wait:VirtualMemory
Or eliminate the first-guess garbage
>>> import os
>>> for line in os.popen('pstat.exe'):
... if 'emory:' in line: print line.strip()
...
Pstat version 0.3: memory: 327080 kb uptime: 0 21:43:48.997
Memory: 327080K Avail: 274668K TotalWs: 39520K InRam Kernel: 3260K P:12484K
HTH
Regards,
Bengt Richter
More information about the Python-list
mailing list