输入内容之后打印出来是这样的:
"username list:""\n\u2014\u2014james""\n\u2014\u2014cally""\n\u2014\u2014lucy""\n\u2014\u2014lily""\n\u2014\u2014dawn"
\n\u2014\u2014这个前缀是个啥玩意
存储用户的名字在json程序里
filename='username.json'
contents='username list:'
with open(filename,'w') as f:
json.dump(contents,f)
while True:
guest_name=input("Please input your name:")
if guest_name == 'quit':
break
else:
guest_name=f"\n——{guest_name}"
filename='username.json'
with open(filename,'a') as f:
json.dump(guest_name,f)
我把guest_name=f"\n——{guest_name}"里面的斜杠删了
输出结果又变成 "\nkayy""\ncan""\nsandy"这样前面带\n,\n没发挥作用
无前缀的正常形式
1.\u2014\u2014 是你代码中{guest_name}前面的两个中文字符“——”的编码
2.json输出的就是转为\n,不会真正换行的,不然json的格式就乱了,例如面的格式就不正确
{name:"Tom
Xiaoli",
age:18
}
应该是:
{name:"Tom\nXiaoli",
age:18
}
3. 如果不想显示\u2014, 可以修改为json.dump(guest_name,f, ensure_ascii=False)