+
24
-

回答

可使用python交互是调用gemini cli与qwen code cli,输入命令后捕获输出

import subprocess
import threading
import time

# 启动 cmd 进程
process = subprocess.Popen(
    ['gemini'],
    stdin=subprocess.PIPE,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE,
    text=True,
    encoding='gbk',  # Windows 控制台常用 gbk
    bufsize=0
)

# 读取输出的线程
def read_output():
    while True:
        output = process.stdout.readline()
        if output == '' and process.poll() is not None:
            break
        if output:
            print("输出:", output.strip())

# 开启输出监听线程
threading.Thread(target=read_output, daemon=True).start()

# 发送命令
def send_cmd(cmd):
    process.stdin.write(cmd + '\n')
    process.stdin.flush()
    time.sleep(0.5)  # 等待输出(实际项目可用更智能的同步机制)

send_cmd('写一个代码')


# 结束
process.stdin.write('exit\n')
process.stdin.flush()
process.wait()

网友回复

我知道答案,我要回答