Python实现用户输入写入桌面记事本失败求助
问题分析与修复方案
代码中的问题点
- 写入操作未执行:
f.write,([results])是错误写法,这没有调用write()方法,只是创建了一个包含方法对象和列表的元组,完全没触发文件写入。 - 数据格式不合理:
({user_input1}, {user_input2}, {user_input3})创建了包含三个集合的元组,集合不适合保存有序的用户输入,且write()方法仅接受字符串参数,直接传入该元组会引发类型错误(你这里没触发是因为根本没调用写入方法)。 - 多余的手动关闭文件:使用
with open(...) as f:上下文管理器时,代码块结束后会自动关闭文件,无需手动调用f.close()。
修正后的代码
user_input1 = input("What is your name: ") user_input2 = input("What is your age: ") user_input3 = input("What is your city: ") # 将输入格式化为易读的文本内容 output_content = f"Name: {user_input1}\nAge: {user_input2}\nCity: {user_input3}" with open("my_file.txt", "w") as f: f.write(output_content)
修正说明
- 用f-string将用户输入格式化为结构化的字符串,每个信息单独一行,方便查看
- 正确调用
f.write(output_content),将格式化后的字符串写入文件 - 移除了多余的
f.close(),依赖上下文管理器自动完成文件资源的释放
内容的提问来源于stack exchange,提问作者Justin Martinez
相关产品推荐
相关产品推荐

