-1
私は以下の関数を持っていて、パスを見て、どれくらいのディスクスペースが使われているかを判断します。main()のロジックがelse条件を満たしていないようです - なぜ
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](https://docs.python.org/2/library/subprocess.html#popen-constructor)クラスを見ていきます。 – Kyle
更新されたメインをご覧ください。 – John