Python - вывод переменных в файл TXT - PullRequest
0 голосов
/ 23 мая 2018

Работа над выводом текста и переменных в файл .txt через python.И это не работает.

f=open("Output.txt", "a")
f.write("Number Plate:", np ,"\n")
f.write("Valid:", valid ,"\n")
f.write("Speed:", speed ,"\n")
f.write("Ticket:", ticket ,"\n")
f.wrtie("Ticket Price:", ticketprice ,"\n")
f.write("\n")
f.close()

Это ошибка, которая выдается при запуске.

f.write("Number Plate:", np ,"\n")
TypeError: write() takes exactly one argument (3 given)

Любая помощь очень ценится

Ответы [ 3 ]

0 голосов
/ 23 мая 2018

Вы можете попробовать так:

with open("Output.txt", "a") as f:
    f.write("Number Plate:" + str(np) + "\n")
    f.write("Valid:" + str(valid) + "\n")
    f.write("Speed:" + str(speed) + "\n")
    f.write("Ticket:" + str(ticket) + "\n")
    f.write("Ticket Price:" + str(ticketprice) + "\n")
    f.write("\n")

Объяснение:

Если вы используете with open...., нет необходимости явно указывать f.close().А также в f.write() с использованием конкатенации строк + вы можете получить требуемую.

0 голосов
/ 23 мая 2018

Вы можете просто использовать str() функцию

Функция str () предназначена для возврата представлений значений, которые достаточно понятны человеку.

И ваш действительный код будет выглядеть так:

f=open("Output.txt", "a")
f.write("Number Plate:" + str(np) + "\n")
f.write("Valid:" + str(valid) + "\n")
f.write("Speed:" + str(speed) + "\n")
f.write("Ticket:" + str(ticket) + "\n")
f.wrtie("Ticket Price:" + str(ticketprice) + "\n")
f.write("\n")
f.close()

Ваш код дает ошибку, TypeError: write() takes exactly one argument (3 given)

потому что -

write() метод принимает только 1 аргумент, но вы предоставляете 3 аргумента

1) «Номерной знак:», 2) np и 3) "\ n"

0 голосов
/ 23 мая 2018

Попробуйте использовать str.format.

Пример:

f=open("Output.txt", "a")
f.write("Number Plate: {0}".format(np))
f.write("Valid: {0}".format(valid ))
f.write("Speed: {0}".format(speed ))
f.write("Ticket: {0}".format(ticket ))
f.write("Ticket Price: {0}".format(ticketprice ))
f.write("\n")
f.close()

Примечание : f.write принимает только один аргумент, Выпытаются пройти 3 ("Number Plate:", np ,"\n")

...