Python脚本在crontab进行int()转换时遇到问题

时间:2019-05-21 13:14:43

标签: memory cron raspberry-pi3 python-3.5

我正在检查树莓派的内存。没事的

但是当我想每分钟运行一次时,crontab说将字符串转换为int时出错

     ValueError:以10为底的int()无效文字:''

我的 script.py

intmemused = 0
cmd = "top -n1 | grep 'Mem :'| awk '{print $6;}'"
output = Popen(cmd,shell=True, stdout=PIPE)
memused = output.communicate()[0].strip()
memused = str(memused.decode("utf-8"))
print(memused) |-----------> 589020
intmemused = int(memused) #Error when crontab execute my scrypt
mem = intmemused * 100
mem = float(mem) / float(memtot)
mem = 100 - float(mem)
mem = round(mem,2)



我的 crontab
*/1 * * * * /home/dietpi/<b>info.sh</b> 2>/home/dietpi/marseille.log

我的 info.sh

#!/bin/bash
/usr/bin/python3 /home/dietpi/script.py



marseille.log 由crontab执行时创建并记录错误,其中包含:

TERM environment variable not set.
Traceback (most recent call last):
File "/home/dietpi/config", line 56, in <module>
    intmemused = int(memused)
ValueError: invalid literal for int() with base 10: ''

当我看到此错误时,我就感到 记忆 为空,但不是。打印给 589020
我曾经是空白字符,但是使用了 .strip()
我相信没有设置TERM环境变量。这是一个问题,但是使用 set命令grep TERM 的回答很好 TERM = xterm

我不明白为什么它可以与python3一起使用而不与crontab一起使用

你能帮我吗?

非常感谢!

麦克斯韦格

0 个答案:

没有答案