有没有一种简单的方法可以将多行写入文本文件?
Is there a simple way to write multiple lines to a text file?
我正在编写这个读取文本文件的书店程序,您下订单,然后它将您的收据写入另一个文本文件。我写了整件事,忘记了我需要将收据写到一个单独的文件中。将这个 整个 模块写入另一个文件的 best/easiest 方法是什么?
def receipt():
sum=0.0
print("\n\n")
print("*"*70)
print("\tThank you {} for your purchase at The Book
Store!".format(name))
print("*"*70)
print("\nQty\t\tItem\t\tPrice\t\tTotal\n")
for i in range(len(myBooks)):
print(myBooks[i][0],"\t",myBooks[i][1],"\t",myBooks[i][2],"\t\t",myCost[i])
for number in myCost:
sum = sum + number
print("\n\nSubtotal: ${}".format(sum))
tax = round(sum * .076,2)
total = round(sum + tax,2)
print("Tax: ${}".format(tax))
print("Total: ${}".format(total))
试试这个。我不能 运行 你的脚本,因为没有定义变量
output = receipt()
file = open("sample.txt","w")
file.write(output)
file.close()
您应该有一个包含所有收据信息的字符串:
def receipt():
str=''
str += '\n\n'
....
return str
然后你可以这样称呼它:
with open("bill.txt", "w") as bill:
bill.write(receipt())
bill.close()
我看到你这里也有一些问题,你没有将 name
和 myBooks
推送到 receipt()。当您 运行 您的脚本时,请确保这不是您的问题。
我正在编写这个读取文本文件的书店程序,您下订单,然后它将您的收据写入另一个文本文件。我写了整件事,忘记了我需要将收据写到一个单独的文件中。将这个 整个 模块写入另一个文件的 best/easiest 方法是什么?
def receipt():
sum=0.0
print("\n\n")
print("*"*70)
print("\tThank you {} for your purchase at The Book
Store!".format(name))
print("*"*70)
print("\nQty\t\tItem\t\tPrice\t\tTotal\n")
for i in range(len(myBooks)):
print(myBooks[i][0],"\t",myBooks[i][1],"\t",myBooks[i][2],"\t\t",myCost[i])
for number in myCost:
sum = sum + number
print("\n\nSubtotal: ${}".format(sum))
tax = round(sum * .076,2)
total = round(sum + tax,2)
print("Tax: ${}".format(tax))
print("Total: ${}".format(total))
试试这个。我不能 运行 你的脚本,因为没有定义变量
output = receipt()
file = open("sample.txt","w")
file.write(output)
file.close()
您应该有一个包含所有收据信息的字符串:
def receipt():
str=''
str += '\n\n'
....
return str
然后你可以这样称呼它:
with open("bill.txt", "w") as bill:
bill.write(receipt())
bill.close()
我看到你这里也有一些问题,你没有将 name
和 myBooks
推送到 receipt()。当您 运行 您的脚本时,请确保这不是您的问题。