【问题标题】:How to detect if Computer is contacted to the internet with Python? [duplicate]如何检测计算机是否使用 Python 连接到互联网? [复制]
【发布时间】:2013-06-22 15:45:55
【问题描述】:

我有一个带有 WiFi 加密狗的 Raspberry Pi,所以标准的互联网 LED 不工作。我试图编写一个脚本来切换 LED,无论 Pi 是否有互联网。

这是我现在拥有的:

#!/usr/bin/python
import urllib2 
import time, os

os.system("gpio mode 6 out && gpio mode 5 out")

loop_value = 1

while (loop_value == 1):
    try:
        urllib2.urlopen("http://www.google.com")
    except urllib2.URLError, e:
        time.sleep( 1 )
        print "Not Connected"
        os.system("gpio write 6 0 && gpio write 5 1")
    else:
       print "Connected"
       os.system("gpio write 6 1 && gpio write 5 0")
       loop_value = 1

问题是它不起作用。有人能告诉我如何检测我的 pi 是否有互联网,然后打印切换 LED 吗?

【问题讨论】:

  • 您根本不需要使用loop_value。只需使用while True:,当您想停止循环时使用break。不是您的核心问题,但会让您的代码更具可读性。
  • 哦,你真的想在你的帖子中修复你的缩进,它不是合法的 Python。

标签: python raspberry-pi


【解决方案1】:

固定缩进。成功获取 url 时中断。

#!/usr/bin/python
import os
import time
import urllib2 

os.system("gpio mode 6 out && gpio mode 5 out")

while True:
    try:
        urllib2.urlopen("http://www.google.com").close()
    except urllib2.URLError:
        print "Not Connected"
        os.system("gpio write 6 0 && gpio write 5 1")
        time.sleep(1)
    else:
        print "Connected"
        os.system("gpio write 6 1 && gpio write 5 0")
        break

【讨论】:

  • 好的,您的脚本正在运行,谢谢!
猜你喜欢
  • 2018-12-27
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
相关资源
最近更新 更多