Python 如何记住整个函数结果?
我想创建一个智能无盘指示器 代码: 我想使用正则表达式(以MB为单位缩减大小),但我不能,因为该函数返回磁盘空间和值“0” 变量“result”为“0” 如何访问并使用磁盘空间?用于调用控制台命令:Python 如何记住整个函数结果?,python,Python,我想创建一个智能无盘指示器 代码: 我想使用正则表达式(以MB为单位缩减大小),但我不能,因为该函数返回磁盘空间和值“0” 变量“result”为“0” 如何访问并使用磁盘空间?用于调用控制台命令: import subprocess def command(cmd): try: p = subprocess.Popen(cmd, shell = True, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stder
import subprocess
def command(cmd):
try:
p = subprocess.Popen(cmd, shell = True, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.STDOUT, close_fds = True)
stdout = p.communicate()
return stdout[0]
except Exception as ex:
raise Exception(ex)
df = command("df -h")
print(df)
其中打印:
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 233Gi 160Gi 72Gi 69% 42083619 18985821 69% /
devfs 187Ki 187Ki 0Bi 100% 648 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
使用而不是操作系统
import os
result = os.popen("df -h").read()
print result
< P> <强> > OS.POPON被表示为Python 2.6,Python 2.4是可用的,所以如果您希望代码在Python上运行= 2.6使用“代码>子进程< /Code >,并且如果支持Python < 2.4是很重要的,请使用代码> OS .POPNE<代码> .P>作为替代,您可以考虑使用一些库函数来获得自由空间:
import os
s = os.statvfs('/')
print (s.f_bavail * s.f_frsize) / 1024**2
特别是使用
子流程
。您看到的0
的可能重复项是成功的df-h
调用的返回代码。
import os
result = os.popen("df -h").read()
print result
import os
s = os.statvfs('/')
print (s.f_bavail * s.f_frsize) / 1024**2