Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何暂停Python脚本并让用户在Linux终端中键入_Python_Linux_Subprocess - Fatal编程技术网

如何暂停Python脚本并让用户在Linux终端中键入

如何暂停Python脚本并让用户在Linux终端中键入,python,linux,subprocess,Python,Linux,Subprocess,我正在制作一个Python脚本,它可以自动执行Linux中的一些任务。 脚本安装了一些包,在安装了这个包之后,我希望用户运行一些终端命令。我想知道是否有办法通过“暂停”脚本并在终端和用户之间创建直接通信来实现这一点 我知道还有其他方法可以做到这一点,比如用python编写一个输入语句,然后进行一个os调用,运行用户输入的内容 从python导入操作系统 cmd=input('在此处键入命令:') 操作系统(cmd) 或者以同样的方式使用一些子进程函数 导入子流程 cmd=input('在此处键

我正在制作一个Python脚本,它可以自动执行Linux中的一些任务。 脚本安装了一些包,在安装了这个包之后,我希望用户运行一些终端命令。我想知道是否有办法通过“暂停”脚本并在终端和用户之间创建直接通信来实现这一点

我知道还有其他方法可以做到这一点,比如用python编写一个输入语句,然后进行一个
os
调用,运行用户输入的内容

从python导入操作系统
cmd=input('在此处键入命令:')
操作系统(cmd)
或者以同样的方式使用一些
子进程
函数

导入子流程
cmd=input('在此处键入命令:')
p=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.stdout)
输出,错误=p.communicate()

但是有一种方法可以在脚本运行时在终端和用户之间创建通信,而无需打开新的终端?

您只需启动shell会话:

os.system('/bin/sh')

您只需启动一个shell会话:

os.system('/bin/sh')

为什么您希望从终端获取输入而不是通过
input()
函数获取输入?只需知道可以这样做为什么您希望从终端获取输入而不是通过
input()
函数获取输入?只需知道可以这样做@Mat.C这是你的解决方案。要返回脚本,请退出这个新的shell@Mat.C这是你的解决方案。要返回脚本,只需退出这个新shell