我正在尝试将用户输入写入.txt文件。我目前的代码如下:
with open('Emp schedule.txt','w') as schedule:
schedule.write(get_name + "\n" + str(get_pay_rate) + "\n" + str(get_the_hours))
此代码每次运行时都会覆盖以前的数据。如何在不写入任何内容的情况下将数据写入此文件,并使用我设置的某些参数以有序的方式执行此操作?此外,任何有关将文本写入文件的信息的好文章或网页都会受到赞赏。我已经阅读过python文档了。
答案 0 :(得分:3)
with open('Emp schedule.txt','a') as schedule:
使用a
附加到文件。
或a+
开放阅读和写作。
您可以使用str.format写入您的文件:
with open('Emp schedule.txt','a') as schedule:
schedule.write("{}\n{}\n{}\n".format(get_name,get_pay_rate,get_the_hours))
如果你有一个词典,你可以使用**
语法:
pay_dict = {"get_name": "foo","get_pay_rate" : 50,"get_the_hours": 40}
with open('Emp schedule.txt','a') as schedule:
schedule.write("{get_name}\n{get_pay_rate}\n{get_the_hours}\n".format(**pay_dict))
我不是csv pro,但这会写入一个文件,其中的字段由您指定的任何内容分隔,并使用csv module:
根据标题的dict键值写入行d = {"Name": "foo","Pay_date" : 50,"Hours": 40}
import csv
with open('Emp schedule.csv','a') as schedule:
writer= csv.DictWriter(schedule,d,delimiter ="|")
writer.writeheader() # write header
writer.writerow(d) # write values
#