Python检测到与wifi的新连接

2024-04-25 10:25:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在YouTube上看到了一个教程(我无法链接它,因为我再也找不到了), 所以代码应该是用来检测连接到我的互联网/路由器的设备,我不太了解他的(编写教程的人)代码是如何工作的

我的控制台中也出现了以下错误:

enter image description here

File "c:/Users/j/Desktop/Connection-Detection.py", line 6, in IP_NETWORK = config('IP_NETWORK') File "C:\Users\j\AppData\Local\Programs\Python\Python38-32\lib\site-packages\decouple.py", line 199, in call return self.config(*args, **kwargs) File "C:\Users\j\AppData\Local\Programs\Python\Python38-32\lib\site-packages\decouple.py", line 83, in call return self.get(*args, **kwargs) File "C:\Users\j\AppData\Local\Programs\Python\Python38-32\lib\site-packages\decouple.py", line 68, in get raise UndefinedValueError('{} not found. Declare it as envvar or define a default value.'.format(option)) decouple.UndefinedValueError: IP_NETWORK not found. Declare it as envvar or define a default value. PS C:\Users\j\Desktop\python\login>

这就是“Detection.py”

import sys
import subprocess
import os
from decouple import config

IP_NETWORK = config('IP_NETWORK')
IP_DEVICE = config('IP_DEVICE')

proc = subprocess.Popen(['ping', IP_NETWORK],stdout=subprocess.PIPE)

while True:
    line = proc.stdout.readline
    if not line:
        break
    connected_ip = line.decode('utf-8').split()[3]

    if connected_ip == IP_DEVICE:
        subprocess.Popen(['say', 'Someone connected to network'])



  

Tags: inpyimportipconfiglocallinenetwork
1条回答
网友
1楼 · 发布于 2024-04-25 10:25:23

您需要在与Detection.py文件相同的目录中定义一个环境变量

步骤

  1. 安装python解耦-pip install python-decouple
  2. 创建一个名为.env的文件
  3. 打开.env文件并将以下内容粘贴到其中
IP_NETWORK=YOUR_IP_NETWORK
IP_DEVICE=YOUR_IP_DEVICE

用你的IP_NETWORK and IP_DEVICE替换YOUR_IP_NETWORKYOUR_IP_DEVICE

相关问题 更多 >