Python如何独立调整终端窗口大小与缓冲区大小(PyInstaller场景)
解决方案
你现有代码的问题出在执行顺序逻辑,Windows控制台要求缓冲区高度必须大于等于窗口显示行数,且你写死了PowerShell的绝对路径,可能出现兼容问题,修正方案如下:
可直接打包运行的代码
import os import subprocess # 第一步先设置缓冲区:宽度与后续窗口宽度一致,高度按你需要保留的历史行数自定义 subprocess.call( 'powershell -command "&{$H=get-host;$W=$H.ui.rawui;$B=$W.buffersize;$B.width=50;$B.height=900;$W.buffersize=$B;}"', shell=True ) # 第二步再调整窗口显示尺寸 os.system("mode con: cols=50 lines=10")
注意事项
- 上述代码仅适用于Windows平台,依赖系统自带的cmd和PowerShell,PyInstaller打包时无需额外引入依赖,直接打包即可正常运行
- 缓冲区高度可自行调整,只要数值大于你设置的窗口lines值,就会正常显示垂直滚动条
- 如果需要修改窗口宽度,要同步修改缓冲区的width参数,避免出现横向滚动条
内容的提问来源于stack exchange,提问作者JustTemp
相关产品推荐
相关产品推荐

