【问题标题】:Python: Write to new file linePython:写入新文件行
【发布时间】:2016-02-20 12:13:27
【问题描述】:

我一直在环顾四周,看看是否能找到一种方法来在每次用户输入时写入文件中的新行。基本代码是这样的:

while True:
f = open(server,"w")
initchat = str(input("Chat: "))
chat = str((user + " - " + initchat))
f.write(chat)
f.write("\n")
f.close

许多答案是将 \n 添加到字符串中,但这只会在之后添加新行,并且不允许写入新行。我有任何意义吗?任何帮助将不胜感激谢谢

【问题讨论】:

  • 您在每次while 迭代时打开文件——不要那样做,您只需调用一次open。此外,您应该找到一种方法来打破循环以便调用close。实际上,一旦程序终止并且文件无论如何都会关闭,这并不重要,但您需要注意这一点。您还忘记了f.close 中的()。您可以参考我的答案以获得正确的解决方案。

标签: python windows file


【解决方案1】:

问题是这样的:

f = open(server,"w")

上面只会写1行:

您必须使用"a" 进行追加。

f = open(server,"a")

顺便说一句:您还必须在 while: 之后缩进您的代码

【讨论】:

  • 非常感谢!我不确定 append 是否相关。谢谢
  • 使用w 如果他用换行符结束他的行仍然会正确。
【解决方案2】:

你应该做一个简单的工作:

with open('file.txt', 'a+') as f:
    initchat = str(input("Chat: "))
    chat = str((user + " - " + initchat))
    f.write(chat+'\n')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 2011-06-23
    • 2021-05-07
    • 2016-10-09
    • 2015-05-24
    相关资源
    最近更新 更多