from pygments.lexers import RstLexer
from pygments.formatters import TerminalFormatter
from pygments import highlight
output = highlight(source, RstLexer(), TerminalFormatter())
p = subprocess.Popen("less", stdin=subprocess.PIPE)
p.stdin.write(output)
p.stdin.close()
p.wait()
Когато аз просто print output
- всичко е наред, но тръбопроводите разбиват ... Някакви идеи?
например:
Отговори:
3 за отговор № 1Това е less
"вина, не Python" s. тичам less
с -R
превключване:
-R
или--RAW-CONTROL-CHARS
като
-r
, но само ANSI "цветови" последователности на излизане се извеждат в "сурова" форма. за разлика от-r
, екранът се поддържа правилно в повечето случаи. ANSI "цветни" последователности на излизане са последователности на формата:ESC [ ... m
където "..."е нула или повече символи за спецификация на цветовете За целите на проследяването на екран, се предполага, че последователностите от цветови аварии ANSI не преместват курсора. Можете да направите по-малко мисля, че знаци, различни от "m", могат да завършат последователностите на ANSI цветови изходи, като зададат средата променлива LESSANSIENDCHARS в списъка с символи, които могат да завършат последователността на цветното бягство. И вие можете по-малко мисля, че между ESC и m може да се появи различен от стандартния символ задаване на променливата на средата LESSANSIMIDCHARS в списъка с символи, които могат да се появят.