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

时间:2018-12-07 00:19:49

标签: python text-files writetofile

我正在编写一个书店程序,该程序读取一个文本文件,下订单,然后将收据写入另一个文本文件。我把整个事情都写了,而忘记了将收据写到一个单独的文件中。将这个 entire 模块写入另一个文件的最佳/最简便方法是什么?

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

2 个答案:

答案 0 :(得分:0)

您应该有一个包含所有收据信息的字符串:

def receipt():
    str=''
    str += '\n\n'
    ....
    return str

然后您可以这样称呼它:

with open("bill.txt", "w") as bill:
    bill.write(receipt())
bill.close()

我看到您在这里也遇到了一些问题,因为您没有将namemyBooks推到receive()上。在运行脚本时,请确保这不是您的问题。

答案 1 :(得分:-2)

尝试一下。我无法运行您的脚本,因为未定义任何变量

output = receipt()
file = open("sample.txt","w")
file.write(output)
file.close()