为了账号安全,请及时绑定邮箱和手机立即绑定

如何阻止 chess.engine.SimpleEngine.popen_uci()

如何阻止 chess.engine.SimpleEngine.popen_uci()

慕森王 2023-05-23 10:36:36
我正在制作自己的国际象棋 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))


查看完整回答
反对 回复 2023-05-23
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

这是一个特定于平台的问题,我猜测'location\\of\\stockfish'Windows 是您感兴趣的平台。

popen_uci接受 ** (额外关键字)参数,您可以使用它来将参数传递给subprocess.Popen(). 使用 passthrough 参数startupinfo提供subprocess.STARTUPINFO. 这反过来可以设置 win32 标志wShowWindow来做你想做的事。


查看完整回答
反对 回复 2023-05-23
  • 2 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信