gpt4 book ai didi

python - 在 python 中将变量写入 txt 会引发一些错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:27:46 25 4
gpt4 key购买 nike

代码:

import os 
from time import *
import socket
import time
global diskspace
#####################
#display temp
#uses shell script to find out temp then uses python to display it
#python uses os module to run line of shell script

os.system("cat /sys/class/thermal/thermal_zone0/temp > sysTemp")

temp = open("sysTemp") # Open a file
str = temp.read(); # read characters in sysTemp
temp.close() # close opened file
t=eval(str) # convert string into number
t2=t*2 # multiply by 2, evaluated number
t3=(t/1000.00) # convert five figure temp (milli-degrees) to degrees to two decimal places
print ("temp is:")
temperature = int(t3)
print(temperature)

def temp():
if temperature > 60:
print("The temp is over 60. Cool down")
elif temperature < 40:
print("temp is below 40")
check()




#find name
##################
#check for internet connection
###################


#Display disk space
###################
def getDiskSpace():

p = os.popen("df -h /")
i = 0
while 1:
i = i +1
line = p.readline()
if i==2:
diskspace = (line.split()[4:5])
ds = diskspace[0]
print("The disk space used is:")

print(ds)
global ds




#Display CPU usage
###################

def getCPUuse():
print(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip())

#Display IP
###################

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("gmail.com",80))
IP = (s.getsockname()[0])
s.close()

print("The Ip is:" + IP)

getDiskSpace()

###################
#writing it to a .txt file

f = open("data.txt","w") #opens file with name of "test.txt"
f.write("raspberry pi data.\n")
f.write("ip:\n")
f.write(IP + "\n")
#f.write("Disk usage:" + str(ds))
f.write("temp: {0}".format(t3))
f.write("disk usage: {0}".format(ds))

f.close()


temp()

getCPUuse()

print("...")
time.sleep(10)

它是一个监视 pi 的温度、磁盘空间、CPU 使用率和 ip 并将其写入 txt 文件的程序主要问题出在这一行

f.write("Disk usage:" + diskspace + "\n")

它说它没有定义,我尝试了很多方法,比如在 def 之前将其创建为空白,但随后文本文件上的磁盘空间没有写入任何内容。其他内容写入文本文件,但不是这个

输出:温度是:58IP为:192.168.1.36回溯(最近一次调用最后一次): 文件“temp.py”,第 74 行,位于 f.write("磁盘使用情况:"+ 磁盘空间)NameError:未定义全局名称“磁盘空间”

如果删除有关写入位的位,通常会打印磁盘空间的 {'40%']。

我添加了一些更改后的代码来打印数据,不抛出错误,但不写入数据。

最佳答案

您尝试在实际进入 getDiskSpace() 方法之前进行写入。

在此之前尝试运行 getDiskSpace()

f.write("Disk usage:" + diskspace + "\n")

关于python - 在 python 中将变量写入 txt 会引发一些错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28677012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com