如何将多输入框输入写入.txt?

时间:2011-11-04 05:46:19

标签: python tkinter text-files easygui

如何使“file.write(repr(fieldNames1))”将我输入的内容写入“fieldNames1”?

import easygui

#Multi Enter Box
fieldNames1= ['Situation:(Example: Waiting for a friend who is late.)','Thoughts:(EXAMPLE: My friend Bob is always late!)','Emotions:(EXAMPLE: Mad & Stressed)','Behavior:(EXAMPLE: Arguing with family)']

#Write to file
file = open('Fieldnames test.txt', 'a')
file.write(repr(fieldNames1))
file.close()

使用以下文本生成名为“Fieldnames test.txt”的文件,无论我输入“fieldnNames1”的内容如何。

  

['情况:(例如:等待迟到的朋友。)',   '思考:(例子:我的朋友鲍勃总是迟到!)',   '情绪:(例子:疯狂和强调)','行为:(例子:争论   家族)']

1 个答案:

答案 0 :(得分:2)

问题是在列表上调用repr()将从列表中创建一个字符串。你想要的是:

f = open('output.txt', 'a')
f.write('\n'.join(fieldNames1))
f.close()

write()方法不会自动创建换行符,因此您可以使用适合您平台的换行符(例如join())将\n字符串列表放在一起。您可以在the Python documentation上阅读有关文件对象的更多信息。

另外,我建议使用与file不同的变量,因为file实际上是一个Python函数。代码将起作用,但您应该意识到可能会出现意外。