Print string to text file Print string to text file python python

Print string to text file


It is strongly advised to use a context manager. As an advantage, it is made sure the file is always closed, no matter what:

with open("Output.txt", "w") as text_file:    text_file.write("Purchase Amount: %s" % TotalAmount)

This is the explicit version (but always remember, the context manager version from above should be preferred):

text_file = open("Output.txt", "w")text_file.write("Purchase Amount: %s" % TotalAmount)text_file.close()

If you're using Python2.6 or higher, it's preferred to use str.format()

with open("Output.txt", "w") as text_file:    text_file.write("Purchase Amount: {0}".format(TotalAmount))

For python2.7 and higher you can use {} instead of {0}

In Python3, there is an optional file parameter to the print function

with open("Output.txt", "w") as text_file:    print("Purchase Amount: {}".format(TotalAmount), file=text_file)

Python3.6 introduced f-strings for another alternative

with open("Output.txt", "w") as text_file:    print(f"Purchase Amount: {TotalAmount}", file=text_file)


In case you want to pass multiple arguments you can use a tuple

price = 33.3with open("Output.txt", "w") as text_file:    text_file.write("Purchase Amount: %s price %f" % (TotalAmount, price))

More: Print multiple arguments in python


If you are using Python3.

then you can use Print Function :

your_data = {"Purchase Amount": 'TotalAmount'}print(your_data,  file=open('D:\log.txt', 'w'))

For python2

this is the example of Python Print String To Text File

def my_func():    """    this function return some value    :return:    """    return 25.256def write_file(data):    """    this function write data to file    :param data:    :return:    """    file_name = r'D:\log.txt'    with open(file_name, 'w') as x_file:        x_file.write('{} TotalAmount'.format(data))def run():    data = my_func()    write_file(data)run()