You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在新终端启动Python脚本并通过文件自动提供交互输入?

解决方法

1. 修正输入文件格式

把commands.txt里的\r换成实际换行,直接用编辑器输入每行内容后按回车保存,最终文件内容应该是:

1
2
3

不用手动写\r这类转义字符,Unix/Linux环境下默认用\n作为换行符,Python的input()会识别这种换行作为输入结束信号。

2. 调整启动脚本的命令

原来的重定向写法无效,因为gnome-terminal会把重定向参数当成自己的输入,而不是传给里面的Python进程。需要用bash -c包裹命令,让重定向作用到Python脚本上:

#!/bin/bash
gnome-terminal -- bash -c "python3 test.py < commands.txt; exec bash"

末尾的exec bash是为了执行完Python脚本后保持终端窗口打开,方便查看输出;如果不需要保留终端,直接去掉即可。

为什么之前的方法不行?

  • 输入文件里的\r是Windows风格的回车符,Unix环境下Python的input()不会把它当成输入结束的信号,导致无法正确读取输入。
  • 直接在gnome-terminal --后面加重定向,重定向是应用于gnome-terminal进程本身,而不是它启动的Python进程,所以输入文件内容根本没传给脚本。

内容的提问来源于stack exchange,提问作者Jake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 19:45:38