【发布时间】:2017-09-16 20:55:16
【问题描述】:
我在下面有一个函数,它查看路径,并确定使用了多少磁盘空间。
def check_disk_space():
import os
cmdparts = ["echo $(df --output=pcent ", ") | tr -d 'Use% '"]
check_used_disk_space_cmd = cmdparts[0] + "a/path" + cmdparts[1]
os.system(check_used_disk_space_cmd)
def main():
used_disk_space = check_disk_space()
print type( used_disk_space )
if int(used_disk_space) > 80:
print "need more"
else:
print "plennnty!"
print type( used_disk_space )
main()
check_disk_space() 正在返回 85。
更新:似乎 check_disk_space() 正在创建一个NoneType 对象?我收到此错误:
TypeError: int() argument must be a string or a number, not 'NoneType'
【问题讨论】:
-
因为你实际上并没有调用这个函数,即使你调用了它也不会返回任何东西。
-
您需要捕获 os.system 调用的输出,并在 check_disk_space 方法中将其转换为 INT 或 FLOAT。我会看看subprocess.Popen 类。
-
请查看更新后的 main - 这是在抛出
plenty,而它实际上应该是need more
标签: python comparison comparison-operators