You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Python输入写入文件功能并让其无限循环执行?

嘿,这就来帮你搞定这两个Python问题,咱们一步一步来!

问题1:让Python请求用户输入并写入文件

其实你现有的代码已经实现了核心功能,但可以优化得更规范、更安全。我给你调整后的版本:

import time

# 生成带格式的当前时间
current_time = time.strftime("%H:%M %d/%m/%Y:")
# 请求用户输入(input本身返回字符串,不用额外转str)
user_input = input("Nodus: ")

# 用with语句自动管理文件,不用手动close,避免资源泄漏
with open("Diário.txt", "a", encoding="utf-8") as diary_file:
    diary_file.write(f"{current_time} \"{user_input}\"\n")

# 读取并打印文件内容
with open("Diário.txt", "r", encoding="utf-8") as diary_file:
    content = diary_file.read()
    print(content)

这里的关键细节:

  • 用input()直接获取用户输入,它本身返回的就是字符串,不用多此一举转str
  • with语句是Python操作文件的最佳实践,代码块结束后会自动关闭文件,比手动close()更稳妥
  • 用f-string格式化文本,比%s写法更直观易读
  • 指定utf-8编码,避免写入特殊字符时出现乱码
问题2:实现无限循环的输入与写入功能

要避免重复粘贴代码,咱们用无限循环来实现,同时加个退出条件(比如输入exit就停止),这样用户可以主动结束程序,不用强制中断:

import time

while True:
    # 获取当前时间
    current_time = time.strftime("%H:%M %d/%m/%Y:")
    # 请求用户输入
    user_input = input("Nodus: ")
    
    # 退出条件:输入exit就终止循环(不区分大小写)
    if user_input.lower() == "exit":
        print("已停止记录,再见!")
        break
    
    # 写入文件
    with open("Diário.txt", "a", encoding="utf-8") as diary_file:
        diary_file.write(f"{current_time} \"{user_input}\"\n")
    
    # 可选:打印当前文件内容,方便即时查看
    with open("Diário.txt", "r", encoding="utf-8") as diary_file:
        content = diary_file.read()
        print("\n当前日记内容:")
        print(content)
    
    # 可选:保留你原代码里的暂停功能
    time.sleep(5)

这个循环会一直运行,直到用户输入exit(不管大小写都能识别)。你也可以根据需求修改退出关键词,或者去掉time.sleep(5)取消暂停。

内容的提问来源于stack exchange,提问作者Funkysnipa Cat stake2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:46:18