如何让Python input()接收的含\n字符串保存后自动换行?
解决输入字面量
\n转为实际换行的问题 你可以利用Python的unicode_escape编码解码机制,将输入中的字面量转义序列(比如\n)解析为实际的控制字符,无需手动替换。
实现代码
# 获取用户输入(socket场景下的单次输入逻辑同理) s = input('enter something: ') # 解析转义序列 processed_content = s.encode('utf-8').decode('unicode_escape') # 写入文件 with open('output.txt', 'w', encoding='utf-8') as f: f.write(processed_content)
效果说明
当用户输入hello\nbye时,unicode_escape会将字面量的\n(两个字符:\和n)转换为实际的换行符。写入文件后内容为:
hello bye
适用场景说明
这个方法是一次性处理整个输入字符串,完全符合你socket单次输入、不能用迭代或sys.stdin.read()的限制,也不需要指定自定义替换字符。
内容的提问来源于stack exchange,提问作者Billy Cao
相关产品推荐
相关产品推荐

