如何以结构化,组织的方式将文本写入输出文件

时间:2014-08-04 21:48:24

标签: python python-2.7 text

我正在尝试将用户输入写入.txt文件。我目前的代码如下:

with open('Emp schedule.txt','w') as schedule:
   schedule.write(get_name + "\n"  + str(get_pay_rate) + "\n" + str(get_the_hours))

此代码每次运行时都会覆盖以前的数据。如何在不写入任何内容的情况下将数据写入此文件,并使用我设置的某些参数以有序的方式执行此操作?此外,任何有关将文本写入文件的信息的好文章或网页都会受到赞赏。我已经阅读过python文档了。

1 个答案:

答案 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
#