擅长:python、mysql、java
<p>我想你可以写一个简单的函数来解决它。如果以kB为单位的数字会明显变小或变大,我添加了一个不同后缀的可能性(它的灵感来自于一本书DiveintoPython3中非常相似的例子)。它可能看起来像这样:</p>
<pre><code>def round(x):
a = 0
while x > 1000:
suffixes = ('kB','MB','GB','TB')
a += 1 #This will go up the suffixes tuple with each division
x = x /1000
return math.ceil(x), suffixes[a]
</code></pre>
<p>此函数的结果可能如下所示:</p>
^{pr2}$
<p>你可以像这样在你的代码中实现它:</p>
<pre><code>import os
import wmi #import native powershell functionality
import math
def round(x):
a = 0
while x > 1000:
suffixes = ('kB','MB','GB','TB')
a += 1 #This will go up the suffixes tuple for each division
x = x /1000
return math.ceil(x), suffixes[a]
.
.
.
RAMROUNDED = round(RAMTOTAL) #attempts to round bytes to nearest, even, GB.
HDDTOTAL = int(HDDINFO.size) # Gathers only the HDD capacity in bytes.
HDDROUNDED = round(HDDTOTAL) #attempts to round bytes to nearest, even, GB.
HDDPRNT = "HDD: " + str(HDDROUNDED[0]) + HDDROUNDED[1]
RAMPRNT = "RAM: " + str(RAMROUNDED[0]) + RAMROUNDED[1]
print(HDDPRNT)
print(RAMPRNT)
</code></pre>