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

Python后台程序调用函数时启动终端并打印内容的实现方法

实现Python后台运行时触发终端打印内容

核心思路是让后台运行的Python程序启动一个独立的终端进程,在新终端里执行打印操作,以下分不同系统给出实现方案:

Linux 系统

以GNOME终端为例(其他终端如konsole、xterm逻辑类似):

import subprocess

def example_function():
    # 启动新终端,打印内容后保持窗口打开
    subprocess.Popen([
        "gnome-terminal",
        "-x", "bash", "-c", 'echo "Something"; exec bash'
    ])
  • gnome-terminal是GNOME桌面的终端程序,若用Konsole可替换为konsole -e 'bash -c "echo Something; exec bash"'
  • exec bash用于让终端执行完打印命令后保持打开,若不需要保留窗口可删除该部分。

Windows 系统

通过启动CMD窗口实现:

import subprocess

def example_function():
    # 启动CMD窗口并打印内容,执行后保持窗口
    subprocess.Popen([
        "cmd.exe", "/k", 'echo Something'
    ])
  • 参数/k指定CMD执行命令后不关闭窗口,若要执行完自动关闭可替换为/c。

macOS 系统

调用系统自带的Terminal.app:

import subprocess

def example_function():
    # 启动新终端实例,打印内容后保持窗口
    subprocess.Popen([
        "open", "-a", "Terminal", "-n", "--args", "-c", 'echo "Something"; exec bash'
    ])
  • -n参数强制打开新的终端实例,避免复用已有窗口;exec bash用于维持终端窗口不关闭。

动态内容打印

如果需要打印动态生成的内容,可通过字符串拼接传递参数(注意转义特殊字符):

import subprocess

def example_function(dynamic_msg):
    # Linux系统示例,其他系统同理修改命令
    subprocess.Popen([
        "gnome-terminal",
        "-x", "bash", "-c", f'echo "{dynamic_msg}"; exec bash'
    ])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:01:14