string write - Chaîne d'impression Python vers un fichier texte





file read (5)


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

Si vous utilisez un gestionnaire de contexte, le fichier est automatiquement fermé pour vous

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

Si vous utilisez Python2.6 ou supérieur, il est préférable d'utiliser str.format()

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

Pour python2.7 et supérieur, vous pouvez utiliser {} au lieu de {0}

Dans Python3, il existe un paramètre de file facultatif pour la fonction d' print

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

Python3.6 introduit f-strings pour une autre alternative

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

J'utilise Python pour ouvrir un document texte:

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

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

text_file.close()

Je veux entrer la chaîne appelée "TotalAmount" dans le document texte. Quelqu'un peut-il s'il vous plaît laissez-moi savoir comment faire cela?




C'est l'exemple de Python Print String To Text File

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()



Avec l'utilisation du module pathlib, l'indentation n'est pas nécessaire.

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

À partir de python 3.6, f-strings est disponible.

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



Dans le cas où vous voulez passer plusieurs arguments, vous pouvez utiliser un tuple

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

Plus: Imprimer plusieurs arguments en python




Méthode Python pour vérifier si une chaîne est un float:

def isfloat(value):
  try:
    float(value)
    return True
  except:
    return False

Un nom plus long et plus précis pour cette fonction pourrait être: isConvertibleToFloat(value)

Ce qui est, et ce n'est pas un flotteur en Python peut vous surprendre:

val                   isfloat(val) Note
--------------------  ----------   --------------------------------
""                    False        Blank string
"127"                 True         Passed string
True                  True         Pure sweet Truth
"True"                False        Vile contemptible lie
False                 True         So false it becomes true
"123.456"             True         Decimal
"      -127    "      True         Spaces trimmed
"\t\n12\r\n"          True         whitespace ignored
"NaN"                 True         Not a number
"NaNanananaBATMAN"    False        I am Batman
"-iNF"                True         Negative infinity
"123.E4"              True         Exponential notation
".1"                  True         mantissa only
"1,234"               False        Commas gtfo
u'\x30'               True         Unicode is fine.
"NULL"                False        Null is not special
0x3fade               True         Hexidecimal
"6e7777777777777"     True         Shrunk to infinity
"1.797693e+308"       True         This is max value
"infinity"            True         Same as inf
"infinityandBEYOND"   False        Extra characters wreck it
"12.34.56"            False        Only one dot allowed
u'四'                  False        Japanese '4' is not a float.
"#56"                 False        Pound sign
"56%"                 False        Percent of what?
"0E0"                 True         Exponential, move dot 0 places
0**0                  True         0___0  Exponentiation
"-5e-5"               True         Raise to a negative number
"+1e1"                True         Plus is OK with exponent
"+1e1^5"              False        Fancy exponent not interpreted
"+1e1.3"              False        No decimals in exponent
"-+1"                 False        Make up your mind
"(1)"                 False        Parenthesis is bad

Tu penses savoir quels sont les nombres? Vous n'êtes pas si bon que vous le pensez! Pas grosse surprise.





python string text file-io