Python中向TXT文件添加输入字符串时输出None的问题排查
解决写入文件后控制台输出None的问题
问题出在这行代码:
content = file.writelines(content)
writelines()方法的作用是将内容写入文件,但它没有返回值(默认返回None)。你把这个方法的返回值重新赋值给了content变量,最后执行print(content)时,自然会输出None。
修复后的代码
只需要去掉赋值操作,直接调用writelines()即可,同时推荐使用with语句自动管理文件(避免手动关闭文件可能出现的遗漏问题):
newUserMember = input("Add a new member: ") # 读取文件内容 with open("/Users/nikitalutsai/Downloads/members.txt", 'r') as file: content = file.readlines() # 添加新成员到列表 content.append(newUserMember + "\n") # 写入文件 with open("/Users/nikitalutsai/Downloads/members.txt", 'w') as file: file.writelines(content) # 打印自定义成功提示(替代原有的print(content)) print(f"已成功添加成员: {newUserMember}")
额外说明
with语句会在代码块结束后自动关闭文件,无需手动调用file.close(),写法更简洁安全。- 自定义打印提示比打印变量更直观,也从根源上避免了输出
None的问题。
内容的提问来源于stack exchange,提问作者pythonPlant
相关产品推荐
相关产品推荐

