我正在运行命令,在命令提示符下显示netsh advfirewall show allprofiles state
,我收到以下预期的输出。
Domain Profile Settings:
----------------------------------------------------------------------
State ON
Private Profile Settings:
----------------------------------------------------------------------
State ON
Public Profile Settings:
----------------------------------------------------------------------
State ON
Ok.
我正在尝试将防火墙的状态纳入功能中,并检查天气是否正常。
我正在运行以下代码以获取防火墙状态。我现在仅使用print()
命令进行调试。
import subprocess
import os, sys
def system_check():
stream = os.popen('netsh advfirewall show allprofiles state').read()
if ('State' == 'ON'):
print('Firewall is on')
else:
print('Firewall is off')
无论是尝试使用'ON'
还是'OK'
,还是调用stream
而不是State
,它仍然会返回Firewall is off
。我也尝试过if ('State' in stream == 'ON'):
和if ('State' in stream == 'OK'):
,但仍然得到相同的结果。
我叫错了变量,我是不是完全错了?
我将需要执行此操作来检查网络连接,防病毒状态和加密状态,是否可以使用资源来调用适当的变量?
感谢您的帮助,在此先感谢您。
OFF
。def system_check():
stream = os.popen('netsh advfirewall show allprofiles state').read()
if 'OFF' in stream:
print('Firewall is off')
else:
print('Firewall is on')