Python中print与write输出实现换行的问题求助
解决字符串换行显示问题
问题描述
当前使用以下代码:
print(text, text1) with open("text.txt", "w+", encoding="utf-8") as file: file.write(text + text1)
执行后,控制台输出和文件内容中两个字符串均直接拼接(示例:END OF TEXT HERE BEGINNING OF TEXT1 HERE),期望实现两行分别显示(第一行END OF TEXT HERE,第二行BEGINNING OF TEXT1 HERE),尝试split()未成功,寻求解决方法。
解决方案
1. 控制台输出实现换行
print()函数默认会给多参数加空格、结尾加换行,要让两个字符串分别换行,两种高效方式:
- 分两次调用
print:print(text) print(text1) - 在字符串间插入换行符
\n,单次print完成:print(text + "\n" + text1) # 用f-string可读性更强 print(f"{text}\n{text1}")
2. 文件写入实现换行
文件写入不会自动添加换行,需手动插入\n分隔两个字符串:
with open("text.txt", "w+", encoding="utf-8") as file: file.write(text + "\n" + text1) # 或用join方法更简洁 # file.write("\n".join([text, text1]))
误区说明
split()是用来拆分字符串(将单个长字符串按指定分隔符切割为列表)的方法,而你需要的是拼接时添加换行分隔,所以用split()完全不匹配场景,改用上述方法即可解决问题。
内容的提问来源于stack exchange,提问作者spike666spike666
相关产品推荐
相关产品推荐

