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”的内容如何。
['情况:(例如:等待迟到的朋友。)', '思考:(例子:我的朋友鲍勃总是迟到!)', '情绪:(例子:疯狂和强调)','行为:(例子:争论 家族)']
答案 0 :(得分:2)
问题是在列表上调用repr()
将从列表中创建一个字符串。你想要的是:
f = open('output.txt', 'a')
f.write('\n'.join(fieldNames1))
f.close()
write()
方法不会自动创建换行符,因此您可以使用适合您平台的换行符(例如join()
)将\n
字符串列表放在一起。您可以在the Python documentation上阅读有关文件对象的更多信息。
另外,我建议使用与file
不同的变量,因为file
实际上是一个Python函数。代码将起作用,但您应该意识到可能会出现意外。