Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何记住整个函数结果?_Python - Fatal编程技术网

Python 如何记住整个函数结果?

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

我想创建一个智能无盘指示器

代码:

我想使用正则表达式(以MB为单位缩减大小),但我不能,因为该函数返回磁盘空间和值“0”

变量“result”为“0”

如何访问并使用磁盘空间?

用于调用控制台命令:

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