Search code examples
pythontextformattingformat

Python line wrap, line height and letter spacing


I am working with multiple text documnets that I want to consistantly format, and set the line height, letter spacing and line wrap after 50 characters in python, doe anybody know how to do this in python,

Thanks

text.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dignissim, felis dignissim viverra pharetra, metus nisl fermentum urna, dictum lobortis tellus ligula at leo. Integer consequat dolor quis enim ultrices mattis. Aenean nec rutrum est. Nulla facilisi. Praesent non quam sed quam blandit cursus ac quis diam. Sed consectetur viverra sagittis. Integer molestie sed tellus eu porttitor. Etiam eu urna lorem. Sed pharetra ipsum laoreet est rhoncus sagittis. Duis gravida sapien a leo lobortis, ut ullamcorper lorem sagittis. Nulla at est vel felis efficitur tincidunt. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In rhoncus, magna rhoncus tempor malesuada, nibh urna facilisis libero, sed ultricies mauris velit in augue. 

Solution

  • You can do like this.

    str_res = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dignissim, felis dignissim viverra pharetra, metus nisl fermentum urna, dictum lobortis tellus ligula at leo. Integer consequat dolor quis enim ultrices mattis. Aenean nec rutrum est. Nulla facilisi. Praesent non quam sed quam blandit cursus ac quis diam. Sed consectetur viverra sagittis. Integer molestie sed tellus eu porttitor. Etiam eu urna lorem. Sed pharetra ipsum laoreet est rhoncus sagittis. Duis gravida sapien a leo lobortis, ut ullamcorper lorem sagittis. Nulla at est vel felis efficitur tincidunt. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In rhoncus, magna rhoncus tempor malesuada, nibh urna facilisis libero, sed ultricies mauris velit in augue. "
    
    i = 0
    res = ""
    
    line_length = 50
    space_size = 2
    
    for c in str_res:
        i += 1
    
        if c == " ":
            res += " " * space_size
        else:
            res += c
    
        if i > line_length:
            i = 0
            res += "\n"
    
    print(res)