Python Forum
How best to format text in a simple text file? - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: How best to format text in a simple text file? (/thread-19093.html)



How best to format text in a simple text file? - Pedroski55 - Jun-13-2019

I have text documents. They consist of 1 sentence on each line, maybe 35 lines. I want to add the correct sentence from the answers text file under each line and give the whole thing a bit of formatting.

I think pprint presents text neatly. Can it do simple formatting and write to a text file?

I basically want an indent and some space at the top and/or bottom and some line spacing.

When I batch print the text files I have from a bash terminal, the text is left, no margin, top, no margin.

I can think of ways to add spaces left and above, but I think there is probably a module to handle this.

What's the best way to do this?

How would you do it?

Maybe I should use the docx module? I'd rather stick with simple text files if I can.


RE: How best to format text in a simple text file? - Clunk_Head - Jun-14-2019

Not sure about a module but you could make something easily.
Bash typically has 80 columns, but that and the number of lines can change. If you want to center the text you can ask bash the columns and rows of the current window.
Use subprocess.check_output to run a shell command and return the output as a string.
tput lines and tput cols are the terminal commands that should tell you the height and width respectively.
Then just split your space based on the length of your strings.


RE: How best to format text in a simple text file? - noisefloor - Jun-14-2019

Hello,

I don't get the point here... If you write the text file yourself, you have all the control of adding blank lines, spaces, tabs etc. Sure, you have to take care of that yourself, as there is no module with automagically guesses what you want to file to look like and formats it like this.

I we recommend to put the text into a list of strings with the intented formatting and than write as a text file to the hard drive.

Regards, noisefloor