gpt4 book ai didi

python - 在 python 脚本中运行 linux 子进程

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:19:54 34 4
gpt4 key购买 nike

我需要在我的 python 脚本中显示 linux 上两个文本文件的彩色差异,为此我使用了 vimdiff。我可以使用子进程运行 vimdiff,但我无法将控制权交还给 python 脚本。在我执行 Ctrl+Z 之前,它会一直保持 vimdiff 模式。我想要做的是打开 vimdiff 并在从键盘接收到某种输入后返回 python 脚本。我也尝试了信号模块,但无法解决问题。

到目前为止,我是 python 的初学者,我尝试过的是:

import subprocess
p = subprocess.Popen(["vimdiff","test1.txt", "test2.txt"])
try:
p.wait()
except KeyboardInterrupt:
p.kill()

任何帮助将不胜感激

最佳答案

据我所知,vim 使用 ncurses 库。对于运行基于 ncurses 的应用程序,使用模块 pexpect :

import pexpect
child = pexpect.spawn("vim")
child.interact()

关于python - 在 python 脚本中运行 linux 子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44933435/

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