gpt4 book ai didi

python - 想在 python 中调整终端窗口的大小,工作但不太正确

转载 作者:行者123 更新时间:2023-11-28 17:46:50 26 4
gpt4 key购买 nike

我试图在启动 python 脚本时调整终端窗口的大小,以确保显示为静态大小。它正在工作,但并不完全符合我的预期。我尝试了几种方法:

import sys
sys.stdout.write("\x1b[8;40;120t")

import subprocess
subprocess.call(["echo","-e","\x1b[8;40;120t"])

甚至只是

print "\x1b[8;40;80t"

它们都可以工作并调整真实终端的大小。但是,如果我的终端是,比方说 25x80 启动,脚本启动,调整大小,然后退出。它不会执行脚本的其余部分。我将它包裹在 try/Except 中,但没有抛出任何东西。系统日志和 python -v script.py 中没有任何内容显示任何异常。如果我再次执行脚本或以 40x120(我的目标大小)的术语大小执行脚本......脚本运行得很好。为什么执行 ANSI 转义退出 python?此外,如果我以交互方式运行它,它可以正常工作。使用 Python 2.6.6。

最佳答案

我尝试运行以下脚本,它“有效”(Linux Debian/Python 2.6/gnome-terminal):

print "\x1b[8;40;80t"

print "ok"

窗口大小调整,脚本继续执行。


如果您确认在您的情况下程序在调整大小后停止,我的猜测将是 Python 在调整窗口大小时收到信号 SIGWINCH

你应该尝试add a specific signal handler .类似的东西:

def resizeHandler(signum, frame):
print "resize-window signal caught"

signal.signal(signal.SIGWINCH, resizeHandler)

关于python - 想在 python 中调整终端窗口的大小,工作但不太正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16941885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com