|
|
发表于 2026-10-30 09:16:10
|
显示全部楼层
报错原因分析
通过对 搜剧AI.exe 的逆向解析与源码反编译,已定位到报错的根本原因:
1. 表面原因:lost sys.stdin
该程序使用 PyInstaller 打包时采用了 --noconsole(无黑框/无控制台窗口) 模式。
在无控制台模式下,程序没有标准输入流(即 sys.stdin 为 None)。
当程序执行到第 51 行的 input("按回车键退出...") 时,因为无法读取键盘输入,直接抛出异常:RuntimeError: lost sys.stdin。
2. 深层核心原因:为什么会执行到 input()?
程序源码在启动时会通过 find_browser() 扫描本地浏览器,但它只写死了几个固定的系统目录:
python
BROWSER_PATHS = [
r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe",
r"C:\Program Files\Microsoft\Edge\Application\msedge.exe",
r"C:\Program Files\Google\Chrome\Application\chrome.exe",
r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",
r"C:\Program Files (x86)\360\360se6\360se.exe",
...
]
您机器的实际情况:经排查,您电脑中安装了 360安全浏览器,但其安装路径在个人用户目录下: C:\Users\Administrator\AppData\Local\360se6\Application\360se.exe
导致程序扫描不到任何浏览器,于是进入了错误处理分支:
python
if not browser_path:
print("未找到可用的浏览器(Edge / Chrome / UC / 360 / QQ 都没找到)")
input("按回车键退出...") # <--- 无控制台模式下这里直接崩溃
sys.exit(1)
该软件的本质
该软件是一个极简的“网页转客户端(Web to GUI)”工具,其核心作用就是调用本地 Chromium 内核浏览器以独立应用窗口(--app 模式)打开以下网址:
搜剧网址:https://baipiaozhe.ai/ |
|