Отключить перенос текста в консоли из программы - PullRequest
0 голосов
/ 28 мая 2020

Я использовал pyinstaller для компиляции моей программы в автономный .exe. Функции печати, которые использует моя программа, требуют, чтобы при слишком маленьком размере окна не было обтекания текстом (так как это может привести к задержке текста). Я знаю, что есть способ отключить перенос текста из меню свойств в командной строке, но мне было интересно, могу ли я автоматически изменить этот параметр из программы.

1 Ответ

0 голосов
/ 28 мая 2020

Кажется, я нашел здесь ваш ответ:

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. 
...