python中有没有办法启动Powershell "session"/在不同时间将多个命令传递给单个Powershell会话?



例如,假设我想在powershell(或命令行(中设置一个变量,然后稍后使用subprocess.check_output("echo$var",shell=True(之类的东西来获取该变量(这不是我需要做的,只是一个示例(。或者,假设我想让一个用户"cd"到一个目录,并能够从该目录运行命令。我将能够拥有一些保存当前目录的python变量,并始终运行";cd{dir};{command}";,但这将是低效的,而且仍然不能适用于所有情况,我需要为用户可能想要运行一个命令的每种可能情况添加一些特殊的代码,然后运行另一个依赖于第一个命令的命令。

对不起,如果我把这个问题说得不好,请告诉我是否应该澄清。TIA!

好的,经过一些搜索,我找到了一种方法。GitHub上的MarkBaggett使用一个名为pexpect的模块做了一个简单的方法:pxpowershell。这里有一个例子:

ps = pxpowershell()
ps.start_process()
ps.run("$x = 10")
print(ps.run("echo $x"))
ps.stop_process()

唯一的小问题是1。颜色不起作用。您需要对输出进行解码((和剥离((,不过您可以将其添加到pxpowershell.py.

最新更新