2017-04-18 171 views
-1

我需要從Windows上的python代碼運行PowerShell腳本。我已經安裝了python,並且已經設置了環境變量。從python代碼運行PowerShell腳本

我也試過subprocess.call,但沒有任何工作適合我。我得到的錯誤:

io.UnsupportedOperation: fileno

Python代碼

import subprocess , sys 

p = subprocess.Popen 
(["C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "C:\\Users\\Desktop\\test.ps1"]) 
p.communicate() 

PowerShell的test.ps1

Write-Host ("swan is awesome") 
New-Item -ItemType Directory -Path "xxxx" 
+1

你需要詳細說明「沒什麼工作」 – jordanm

+0

你可以用'check_output'而不是'Popen'來嘗試嗎?在這種情況下,這將得到你輸出作爲返回值,而不是過程(你不需要),如果它不能正常工作,例外 –

+0

我試過check_output,顯示錯誤subprocess.CalledProcessError – swan

回答

0

你沒有捕捉程序輸出,而spawing你一個新的進程可以給這樣的東西subprocess([],stdout=sys.stdout)