我看了一个关于YouTube的教程(我不能链接它,因为我再也找不到它了),所以代码应该用来检测连接到我的Internet/路由器的设备,我不太了解他的(编写教程的人)代码是如何工作的。
我的控制台中也出现了以下错误:

“c:/User/j/Desktop/Connection-Detection.py”,第6行,在"C:\Users\j\AppData\Local\Programs\Python\Python38-32\lib\site-packages\decouple.py",=
(‘IP_NETWORK’)文件第199行中,在call返回self.config(*args,**kwargs)文件"C:\Users\j\AppData\Local\Programs\Python\Python38-32\lib\site-packages\decouple.py",第83行中在call返回self.get(*args,**kwargs)文件第68行中,在get raise (‘{} not line )中。将其声明为envvar或定义默认值.‘..format(选项) decouple.UndefinedValueError: IP_NETWORK not。将其声明为envvar或定义默认值。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'])发布于 2021-01-24 09:56:13
您需要在与Detection.py文件相同的目录中定义一个环境变量。
步骤
安装python-解耦- pip install python-decouple.
.env
.env文件的文件,并将以下内容粘贴到该文件中。IP_NETWORK=YOUR_IP_NETWORK
IP_DEVICE=YOUR_IP_DEVICE用您的YOUR_IP_NETWORK和YOUR_IP_DEVICE替换IP_NETWORK and IP_DEVICE
https://stackoverflow.com/questions/63749109
复制相似问题