gpt4 book ai didi

python - 打开 2 个终端并在 Python 中打印 2 条不同的消息

转载 作者:太空狗 更新时间:2023-10-29 12:31:26 24 4
gpt4 key购买 nike

我是新的 python(2.7 版)程序员,我有一个问题如何打开 2 个终端并输出不同的信息。

该程序的主要任务是打开 2 个终端并输出不同的消息。现在,我有 3 个以下文件

  1. test.py -- 它是假设打开 2 个终端并调用不同的 python 2 文件的主要文件
  2. print1.py -- 这是简单的 1 行代码,打印“这是第一个终端”这一行
  3. print2.py -- 与 print1.py 相同。它输出“这是第二个终端”

目前我的test.py有如下代码:

import subprocess
subprocess.call(['gnome-terminal','-x','python print1.py'])
subprocess.call(['gnome-terminal','-x','python print2.py'])

当我执行该程序时,它会打开两个终端,并且它们都显示“为此终端创建子进程时出错。无法执行子进程”。然后,我尝试编写 print1/print2.py 的完整路径,但它仍然给出相同的错误,我被困在那里。请给我一些建议来解决这个错误。

最佳答案

您需要指定 python 和文件路径作为单独的项目。否则,python print1.py 将被解释为程序名称而不是 python

import subprocess
proc1 = subprocess.Popen(['gnome-terminal', '-x', 'python', 'print1.py'])
proc2 = subprocess.Popen(['gnome-terminal', '-x', 'python', 'print2.py'])
proc1.wait()
proc2.wait()

注意:我将 call 更改为 Popencall 等待程序终止;在第一个程序终止之前,第二个终端不会被执行。

更新

顺便说一句,除非脚本在打印后没有暂停,否则 gnome-terminal 将在 python 程序终止后立即关闭。

如果您希望在程序终止后出现 shell 提示符,请在每个文件的末尾放置以下行(print1.pyprint2.py):

import os
os.execv('/bin/sh', ['sh'])

关于python - 打开 2 个终端并在 Python 中打印 2 条不同的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25825515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com