2017-05-30 231 views
0

我知道已经发布的相关问题,但是我无法获得它们的一窍不通。从Python运行Powershell命令

我有一个Powershell命令,并把它放在Python中的一个字符串,说字符串aa

如何从Python运行命令aa。我知道我应该使用subprocess,但我不知道以什么方式。

aacd ../data认为从当前文件夹到另一个文件夹,但也更复杂的命令是可能的,如:

docker run --rm -v $pwd\xml\:C:\xml -i LocationOfRegistry powershell /C 'cat C:\xml\*.xml | python .\core-wrap\run.py' > output.csv

在此先感谢

+0

可能的[复制](https://stackoverflow.com/questions/14508809/run-powershell-function-from-python-script)... –

+0

什么样的 “PowerShell命令” 你在说什么?一个cmdlet?脚本?什么会形成“更复杂的命令”? –

+0

请参阅编辑的问题。 – nippon

回答

0

您正在寻找popen

from subprocess import Popen, PIPE 

process = Popen(['cd', path], stdout=PIPE, stderr=PIPE) 
stdout, stderr = process.communicate() 
+0

你确定这是打开一个文件夹吗?我得到一个错误,指出找不到指定的文件,而路径是正确的。如果我想运行其他'cd'命令呢? – nippon

+0

你提出了一个不同的命令。如果你想打开一个文件,你可以使用'f = open(path,'r')' – IsaacDj

+0

编辑:添加'Shell = True'解决了第一个问题。 我该如何运行其他命令,比如从Powershell中调用docker? – nippon