Мой код - приложение Tkinter для создания счета и его распечатки. При создании счета значения записываются в текстовый файл. Однако выходные данные выровнены неправильно, есть ли способ указать шаблон с фиксированными аргументами в качестве позиций для каждой строки?
Это минимальная программа:
#This is a working python script
#Declare and assign field names
vbill_SubTotal = "Sub Total: Rs. "
vbill_TaxTotal = "Tax Total: Rs. "
vbill_RoundOff = "Round Off: Rs. "
vbill_GrandTotal = "Grand Total: Rs. "
#Declare the variables and assign values
vsubTotal = 20259.59
vtaxTotal = 5097.78
vroundOff = 0.27
vgrandTotal = 25358.00
#Concatenate all values into one variable
vbill_contents = vbill_SubTotal + str(vsubTotal) + '\n' +\
vbill_TaxTotal + str(vtaxTotal) + '\n' +\
vbill_RoundOff + str(vroundOff) + '\n'+\
vbill_GrandTotal + (str(vgrandTotal)) + '\n'
#Create a new bill
mybill = "bill.txt"
writebill = open(mybill,"w")
#Write the contents into the bill
writebill.write(vbill_contents)
Когда эта программа выполняется, вывод записывается в файл блокнота "bill.txt" в вашем относительном пути. Данные в файле следующие:
Sub Total: Rs. 20259.59
Tax Total: Rs. 5097.78
Round Off: Rs. 0.27
Grand Total: Rs. 25358.00
На первый взгляд результат выглядит аккуратно, но при ближайшем рассмотрении выравнивание не определено. Это мой желаемый результат, все десятичные дроби должны быть в одном столбце:
Sub Total: Rs. 20259.59
Tax Total: Rs. 5097.78
Round Off: Rs. 0.27
Grand Total: Rs. 25358.00
Я изучил множество учебных пособий для этого и ничего не нашел в фреймворке Tkinter. Единственный вариант, который мне нужно изучить, - это сначала записать все эти данные на холст и выровнять их, а затем распечатать сам холст, а не этот текстовый файл. Любая помощь по быстрому пути вперед? Если холст - мой единственный вариант, предоставьте образец / указатель на самый простой способ использования холста для выполнения этой работы.