有没有一种简单的方法可以将多行写入文本文件?

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

我看到你这里也有一些问题,你没有将 namemyBooks 推送到 receipt()。当您 运行 您的脚本时,请确保这不是您的问题。