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

Python文件写入模式下使用input报错,如何实现用户输入内容写入文件?

问题解答

核心问题:写入模式下能否使用input函数?

完全可以。input()是从控制台获取用户输入的函数,和文件的打开模式(如w只写)没有冲突,你的代码报错是逻辑错误,和input本身无关。

你的代码问题分析

  1. 错误使用input参数:input(str(guest_info))把文件对象转成字符串当提示语,这完全不符合需求,input的参数应该是给用户的提示文本,比如"请输入你的姓名:"。
  2. 写入模式无法读取:你用"w"模式打开文件,这个模式是只写权限,不能执行读取操作,所以for info in guest_info:会触发"文件不可读"的错误。
  3. 逻辑颠倒:你应该先获取用户输入,再把内容写入文件,而不是尝试从文件读取内容。

修正后的代码

"""10-3. 访客:编写程序提示用户输入姓名,收到回复后将其姓名写入名为guest.txt的文件。"""

filename = "../Data/guest.txt"
# 获取用户输入的姓名
guest_name = input("请输入你的姓名:")
# 以写入模式打开文件并写入内容
with open(filename, "w") as guest_file:
    guest_file.write(guest_name)

# 可选:验证写入结果
with open(filename, "r") as guest_file:
    saved_name = guest_file.read()
    print(f"已成功写入访客姓名:{saved_name}")

补充说明

  • 如果需要保留原有文件内容,追加新的访客姓名,把打开模式改成"a"(追加模式),并在写入时加上换行符guest_file.write(f"{guest_name}\n"),避免多个姓名挤在一行。
  • with语句会自动帮你关闭文件,无需手动调用close(),是Python操作文件的推荐写法。

内容的提问来源于stack exchange,提问作者Salome Aptsiauri

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:35:28