pythonpython-3.xwinapp

How do I put this into one line?


with open('output.txt', 'w') as f:
    for item in winapps.list_installed(): 
           print(item, file=f)

So I have this basic code. How could I make it into line? without including the with open, as other stuff is included later on.

I was thinking something like this xD

 with open('output.txt', 'w') as f:
    for item in winapps.list_installed(print(item, file=f)) 

Solution

  • This can be put into one line in several ways. Without changing your code you could just remove the newline and indent:

    with open('output.txt', 'w') as f:
        for item in winapps.list_installed(): print(item, file=f)
    

    Or just using unpacking and print formatting:

    with open('output.txt', 'w') as f:
        print(*winapps.list_installed(), sep="\n", file=f)
    

    Which can also be done in one line:

    with open('output.txt', 'w') as f: print(*winapps.list_installed(), sep="\n", file=f)
    

    That said, this is not a good code design choice. Making things more conscience can (at times) make it less readable.