Python 停止无预设退出条件的无限循环
好的,下面的脚本将在RPI3上运行,以监控网络速度Python 停止无预设退出条件的无限循环,python,xlsxwriter,Python,Xlsxwriter,好的,下面的脚本将在RPI3上运行,以监控网络速度 我需要一种方法来停止无限循环而不中断每个周期的进程。从现在开始,脚本在程序终止之前不会退出循环。这是一个巨大的问题,因为我需要使用workbook.close()函数保存它。另一种解决方法是只关闭每个周期的文件,但据我所知,您不能使用xlsxriter编辑xlsx文件。只写新的 import xlsxwriter import pyspeedtest import time workbook = xlsxwriter.Workbook('da
我需要一种方法来停止无限循环而不中断每个周期的进程。
从现在开始,脚本在程序终止之前不会退出循环。这是一个巨大的问题,因为我需要使用
workbook.close()
函数保存它。另一种解决方法是只关闭每个周期的文件,但据我所知,您不能使用
xlsxriter
编辑xlsx文件。只写新的
import xlsxwriter
import pyspeedtest
import time
workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()
st = pyspeedtest.SpeedTest()
def testspeed():
ping = st.ping()
upload = st.upload()
download = st.download()
return ping, upload, download
n = 1
while True:
p, u, d = testspeed()
worksheet.write(n, 0, p)
worksheet.write(n, 1, u)
worksheet.write(n, 2, d)
n += 1
time.sleep(3600)
#Some user input to break the loop
#but not hinder the process
workbook.close()
ps:如果有人能将标题编辑成合适的内容,我会非常高兴的 如果您的程序在控制台的前台运行,您可以使用Control-C中断进程。在这种情况下,提供了一种方便的清理方法:
with contextlib.closing(xlsxwriter.Workbook('data.xlsx')) as workbook:
worksheet = workbook.add_worksheet()
st = pyspeedtest.SpeedTest()
n = 1
while True:
p, u, d = testspeed()
worksheet.write(n, 0, p)
worksheet.write(n, 1, u)
worksheet.write(n, 2, d)
n += 1
time.sleep(3600)
# Just press Control-C when you get tired of waiting,
# workbook.close() will be called automatically
@史蒂芬诺亚解决了这个问题。但如果这个图书馆不存在,你会如何解决这个问题?