Tmux环境下Python input()函数控制字符被字面解析的问题求助
Tmux环境下Python控制台输入控制字符失效的解决办法
问题描述
在Tmux环境中运行包含query = input('>>> ')的Python代码时,控制字符被当作字面量处理:按Enter键会打印^M而非提交输入,按Ctrl+C会打印^C而非终止进程;但在Tmux外部运行代码一切正常。
解决办法
临时生效方案:启动Python脚本前手动指定终端类型,执行命令:
TERM=xterm-256color python your_script.py或在当前Tmux会话中先设置环境变量再运行脚本:
export TERM=xterm-256color python your_script.py永久生效方案:修改Tmux配置文件(
~/.tmux.conf),添加以下配置项:set -g default-terminal "xterm-256color"保存后,重启Tmux会话,或在现有会话中按下Tmux前缀键(默认为
Ctrl+B)后输入:source ~/.tmux.conf并回车,使配置生效。补充排查方向:若上述方案无效,检查Python的readline模块是否正常。部分极简环境或虚拟环境可能缺失该模块,可通过以下命令安装(Linux系统用
readline,macOS建议用gnureadline):# Linux pip install readline # macOS pip install gnureadline
内容的提问来源于stack exchange,提问作者Tuetschek
相关产品推荐
相关产品推荐

