[python]input函数中文输出删除导致编码问题

[复制链接]
发表于 2025-9-2 19:09:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
问题描述

利用input()吸收用户的下令行输入时,当用户输入中文,并用退格键删除中文时,删一个中文字需要按两下退格键,并且还会出现utf8编码问题。
办理

导入readline包即可,不需要引用。Linux/mac的python标准包就有
  1. import readline
复制代码
readline包的作用

readline是一个用于增强交互式下令行体验的库,提供以下功能:
1. 行编辑功能


  • 支持利用方向键移动光标
  • 支持退格键删除字符
  • 支持Delete键删除光标后的字符
  • 支持Home/End键快速移动到行首/行尾
2. 历史记录管理


  • 主动保存输入历史
  • 利用上下方向键欣赏历史下令
  • 支持搜索历史记录(Ctrl+R)
3. UTF-8和多字节字符支持


  • 正确处理中文等多字节字符
  • 制止在删除中文字符时出现UTF-8编码错误
  • 确保光标位置正确计算
4. Tab补全


  • 支持自界说tab补全功能
  • 可以实现文件名、下令名等的主动补全
5. 键盘快捷键


  • Ctrl+A:移动到行首
  • Ctrl+E:移动到行尾
  • Ctrl+K:删除光标到行尾的内容
  • Ctrl+U:删除光标到行首的内容
  • Ctrl+W:删除前一个单词
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表