2017-05-30 290 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