我如何使用 python 以多行方式打开 gnome-terminal 然后 运行 python 命令?

How could I use python to open gnome-terminal and then run python commands in a multiline manner?

我正在尝试获取一个子进程调用,它将打开一个 gnome 终端并在该终端中输入 python 然后执行一些 python 命令并导入,而无需用户输入它们。

我正在开发一些自动终端打开代码,它将使用 subprocess.call () also ()

打开 gnome 终端 window

我的最终目标是打开一个 gnome 终端 window 并使用打开 gnome 终端的相同脚本,输入命令以使用 python。然后在 python 中导入一个包并 运行 它。

我目前的用法是:

subprocess.call(['gnome-terminal', '-e', "python client.py"])

然而,我试图得到的是一个可导入的包,我可以打开几个 gnome 终端 windows 因为它会调用 pypi 包中的不同对象,有效地执行与调用 client.py 相同的事情会处理这些文件。但是,这不适用于 pip 中安装的包。

我想做的是:


subprocess.call(['gnome-terminal', '-e', "python && import <package> && c = <package>.obj.func()"])

这样终端就会打开并输入 python,导入我想要的包,然后从中调用一些东西,但所有操作都按照 python 文件

的指示进行

这似乎不起作用,因为多行脚本适用于 bash 脚本之类的东西,但在输入 python 后尝试输入命令时似乎不起作用。

如有任何建议,我们将不胜感激

我没有安装 Gnome Terminal,但如果你能让它启动 Python 正确,那么你可以使用 Python's -i flag 到 运行 一组命令或脚本。

两种用法如下:

  • python -i path/to/my/script 运行脚本然后进入解释器
  • python -i -c "# Some Python commands" 运行 命令然后输入解释器

例如:

$ python -i -c "import this"
[poetry]
>>> 
# Ready for input!