从程序内部禁用控制台文字换行

问题描述 投票:0回答:1

我已经使用pyinstaller将程序编译成独立的.exe。我的程序使用的打印功能要求,当窗口大小太小时,不应该使用任何文字换行(因为这可能会导致一些文字残留)。我知道有一种方法可以从命令提示符的属性菜单中禁用文本换行,但是我想知道是否可以从程序中自动更改此设置。

python windows pyinstaller command-prompt
1个回答
0
投票

我相信我在这里找到了您的答案:

https://askubuntu.com/questions/73443/how-to-stop-the-terminal-from-wrapping-lines

您的脚本需要运行命令“ tput rmam”以禁用文本换行。然后,您的脚本需要通过“ less -S”进行传递。这可能需要包装在当前流程中嵌入的子流程中。现在您的终端将不再换行,您仍然可以使用箭头键查看更多太长的行。

这里是我写的一个样机:

temp:

short line
long line long line long line long line long line long line long line long line long line long line long line long line long line 
short line

temp.py:

#!/usr/bin/env python

import pexpect as pe

b = pe.spawn('bash')
b.sendline('tput rmam')
b.sendline('less temp -S')
b.interact() # Imbed in your current process. 
© www.soinside.com 2019 - 2024. All rights reserved.