def mac_code_confirm(): import subprocess # 定义 PowerShell 命令 ps_command = r'Get-WmiObject Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID' # 执行 PowerShell 命令并获取输出 result = subprocess.run(['powershell', '-Command', ps_command], capture_output=True, text=True) # 检查 PowerShell 命令是否执行成功 if result.returncode == 0: machine_code = result.stdout.strip() expected_machine_code = "9E19AA0D-772D-C93B-3544-50EBF6592F65" if machine_code != expected_machine_code: print("未授权") import subprocess exit()优化这段代码
时间: 2024-03-10 13:51:20 浏览: 158
这段代码的作用是获取计算机的唯一标识符,并与预期的标识符进行比较,如果不匹配则输出未授权并退出程序。
可以对代码进行如下优化:
1. 使用 f-string 格式化字符串,可以使代码更加简洁、易读。
2. 使用 subprocess 的 check_output 方法,可以在命令执行失败时抛出异常。
3. 退出程序可以直接使用 sys 模块的 exit 函数,不需要使用 subprocess 调用 exit 命令。
优化后的代码如下所示:
```
import subprocess
import sys
def mac_code_confirm():
# 定义 PowerShell 命令
ps_command = r'Get-WmiObject Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID'
# 执行 PowerShell 命令并获取输出
try:
machine_code = subprocess.check_output(['powershell', '-Command', ps_command], text=True).strip()
except subprocess.CalledProcessError:
print("获取计算机唯一标识符失败")
sys.exit(1)
expected_machine_code = "9E19AA0D-772D-C93B-3544-50EBF6592F65"
if machine_code != expected_machine_code:
print("未授权")
sys.exit(1)
```
这样可以使代码更加简洁、易读,并且在错误处理上也更加健壮。
阅读全文