Python检测到WiFi的新连接

问题描述

因此,我在youtube上看到了此消息,它应该能够检测到连接到wifi的新设备,尽管我了解这是如何工作的,但我仍然不知道如何解决此问题,因为

enter image description here

有人能帮我吗?我认为我必须替换这两个变量,我认为这与它们是否是环境变量有关?我必须将它们放置在某个地方吗?

文件“ c:/Users/j/Desktop/Connection-Detection.py”,第6行,在 IP_NETWORK =配置('IP_NETWORK') 在调用中的文件“ C:\ Users \ j \ AppData \ Local \ Programs \ Python \ python38-32 \ lib \ site-packages \ decouple.py”,第199行 返回self.config(* args,** kwargs调用中的文件“ C:\ Users \ j \ AppData \ Local \ Programs \ Python \ python38-32 \ lib \ site-packages \ decouple.py”,第83行 返回self.get(* args,** kwargs) 在get中的文件“ C:\ Users \ j \ AppData \ Local \ Programs \ Python \ python38-32 \ lib \ site-packages \ decouple.py”,第68行 引发UndefinedValueError('{}找不到。声明为envvar或定义认值。'。format(option)) decouple.UndefinedValueError:找不到IP_NETWORK。将其声明为envvar或定义一个认值。 PS C:\ Users \ j \ Desktop \ python \ login>

这是我拥有的代码

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'])



  

解决方法

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

步骤

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

YOUR_IP_NETWORKYOUR_IP_DEVICE 替换为您的 IP_NETWORK and IP_DEVICE

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...