我正在制作自己的国际象棋 GUI,并为此使用 python 国际象棋和鳕鱼。将其冻结为可执行文件后,每次调用时chess.engine.SimpleEngine.popen_uci('location\\of\\stockfish'),它都会打开 stockfish 的 shell,如果我关闭 shell,stockfish 将停止工作。我该怎么做才能使 shell 仅在后台运行并且对用户不可见?
2 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
扩展@BoarGules 答案:
engine = chess.engine.SimpleEngine.popen_uci(sf,startupinfo = subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW))
德玛西亚99
TA贡献1770条经验 获得超3个赞
这是一个特定于平台的问题,我猜测'location\\of\\stockfish'
Windows 是您感兴趣的平台。
popen_uci
接受 ** (额外关键字)参数,您可以使用它来将参数传递给subprocess.Popen()
. 使用 passthrough 参数startupinfo
提供subprocess.STARTUPINFO
. 这反过来可以设置 win32 标志wShowWindow
来做你想做的事。
添加回答
举报
0/150
提交
取消