Python - rich - render to a string instead of the console
How to "print" to a string in rich
On an issue that I submitted to the repo, asking if there was a similar interface in rich as what textwrap gives (specifically, the subsequent_indent value), I was told about tables and table.grids, which worked, but I still would like to know how to get a string that has been "colorized" (as I really like how rich does it).
Anyway, I did get a pattern on how to do that:
console = Console(file=io.StringIO(), force_terminal=True)
console.print(text)
table_str = console.file.getvalue()
As @willmcgugan says:
Unfortunately you won't be able to use the result with textwrap, which won't handle the invisible control codes correctly.
As he say, it's unfortunate, but maybe in the cases I might need it, it might work out ok. But, it's good to know how to get a string from the framework.