我正在制作自己的國際象棋 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
提交
取消