在Python中顺序执行命令?

我想连续执行多个命令:

即(只是为了说明我的需要):

cmd (贝壳)

然后

cd dir

ls

并读取的结果ls

subprocess模块有任何想法吗?

cd

dirls只是一个例子。我需要运行复杂的命令(遵循特定的顺序,没有任何流水线操作)。实际上,我想要一个子进程外壳,并希望能够在其上启动许多命令。

回答:

有一种简单的方法可以执行一系列命令。

在以下使用 subprocess.Popen

"command1; command2; command3"

或者,如果您陷在Windows中,则有多种选择。

  • 创建一个临时的“ .BAT”文件,并将其提供给 subprocess.Popen

  • 在单个长字符串中创建带有“ \ n”分隔符的命令序列。

像这样使用“”。

"""

command1

command2

command3

"""

或者,如果您必须零碎地做某事,则必须做这样的事情。

class Command( object ):

def __init__( self, text ):

self.text = text

def execute( self ):

self.proc= subprocess.Popen( ... self.text ... )

self.proc.wait()

class CommandSequence( Command ):

def __init__( self, *steps ):

self.steps = steps

def execute( self ):

for s in self.steps:

s.execute()

这将允许您构建一系列命令。

以上是 在Python中顺序执行命令? 的全部内容, 来源链接: utcz.com/qa/413008.html

回到顶部