擅长:python、mysql、java
<p>您可以尝试使用我刚才创建的systeminfo.exe包装器,它有点不正规,但它似乎很容易做到,而且没有太多代码。</p>
<p>这应该可以在2000/XP/2003服务器上运行,并且应该可以在Vista和Win7上运行,前提是它们带有systeminfo.exe并且位于路径上。</p>
<pre><code>import os, re
def SysInfo():
values = {}
cache = os.popen2("SYSTEMINFO")
source = cache[1].read()
sysOpts = ["Host Name", "OS Name", "OS Version", "Product ID", "System Manufacturer", "System Model", "System type", "BIOS Version", "Domain", "Windows Directory", "Total Physical Memory", "Available Physical Memory", "Logon Server"]
for opt in sysOpts:
values[opt] = [item.strip() for item in re.findall("%s:\w*(.*?)\n" % (opt), source, re.IGNORECASE)][0]
return values
</code></pre>
<p>您可以很容易地将其余的数据字段追加到sysOpts变量,但不包括那些为其结果提供多行的数据字段,如CPU&NIC信息。regexp行的简单mod应该能够处理这个问题。</p>
<p>享受吧!</p>