Texto De Impressão Em Python Para Um Ficheiro De Texto

estou a usar o Python para abrir um documento de texto:

text_file = open("Output.txt", "w")

text_file.write("Purchase Amount: " 'TotalAmount')

text_file.close()

quero introduzir o texto chamado "TotalAmount" no documento de texto. Alguém me pode dizer como fazer isto?

Author: Eric Leschinski, 2011-03-07

6 answers

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

Se usar um gestor de contexto, o ficheiro é fechado automaticamente para si

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

Se estiver a usar Python2. 6 ou superior, é preferível usar str.format()

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

Para python2. 7 ou mais pode usar {} em vez de {0}

Em Python3, existe um parâmetro opcional file para a função print

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

Python3.6 introduzido cadeias de f para outra alternativa

with open("Output.txt", "w") as text_file:
    print(f"Purchase Amount: {TotalAmount}", file=text_file)
 833
Author: John La Rooy, 2017-05-02 03:57:40

No caso de querer passar por vários argumentos, pode usar uma tupla

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

Mais: imprimir vários argumentos em python

 29
Author: user1767754, 2017-05-23 12:26:35

Se estiver a usar o numpy, imprimir uma única (ou multiplicar) cadeias de caracteres num ficheiro pode ser feito com apenas uma linha:

numpy.savetxt('Output.txt', ["Purchase Amount: %s" % TotalAmount], fmt='%s')
 14
Author: Guy s, 2017-01-26 06:56:32

Este é o exemplo do texto de impressão em Python para o ficheiro de texto

def my_func():
    """
    this function return some value
    :return:
    """
    return 25.256


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


def run():
    data = my_func()
    write_file(data)


run()
 7
Author: Rajiv Sharma, 2016-07-26 07:21:58

Com o uso do módulo pathlib, a indentação não é necessária.

import pathlib
pathlib.Path("output.txt").write_text("Purchase Amount: {}" .format(TotalAmount))

A partir do python 3.6, as cordas f estão disponíveis.

pathlib.Path("output.txt").write_text(f"Purchase Amount: {TotalAmount}")
 3
Author: naoki fujita, 2018-04-30 05:23:32

Uma forma mais fácil de fazer em Linux e Python,

import os
string_input = "Hello World"
os.system("echo %s > output_file.txt" %string_input)

(ou)

import os
string_input = "Hello World"
os.system("echo %s | tee output_file.txt" %string_input)
 0
Author: Vikram S, 2018-09-12 09:23:24