如何解决Speedtest 连续循环失败
我正在尝试构建一个循环,每隔几分钟在 .csv 中保存下载和上传速度。
我当前的代码有两个问题:
1.问题:循环以避免 ConfigRetrievalError
假设由于我们的 wifi 连接不稳定,我得到
ConfigRetrievalError: <urlopen error [Errno 11001] getaddrinfo Failed>
不时。
我试图通过构建一个循环(基于此代码 1)来解决它,该循环会在错误出现时立即尝试从头开始运行代码。
不幸的是,该代码也会覆盖 .csv 中以前的条目,尽管理想情况下它应该开始在 csv 中的最后一个条目下方添加行。
2.问题:代码中断/except语句
我不知道如何正确中断我的代码,理想情况下我还想在 except 语句之后命名错误。 except ConfigRetrievalError:
不起作用。
def test():
s = speedtest.Speedtest()
s.get_servers()
s.get_best_server()
s.download()
s.upload()
res = s.results.dict()
return res["download"],res["upload"],res["ping"]
def main():
while True:
with open('home_v05.csv','w') as f:
try:
f.write('timestamp,download_in_mb,upload_in_mb,ping\n')
for i in range(15000):
print('Making test #{}'.format(i+1))
d,u,p = test()
dt = datetime.Now(timezone('GMT')).isoformat()
f.write('{},{},{}\n'.format(dt,round(d/1000,1),round(u/1000,p))
time.sleep(20)
break
except:
print('Raised error')
if __name__ == '__main__':
main()
示例输出
Making test #42
Making test #43
Raised error
Making test #1
Raised error
Making test #1
Making test #2
Making test #3
非常感谢任何帮助。提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。