考虑下面运行powershell脚本的简单python程序。如果我从命令行启动python程序,它工作正常,即使我觉得奇怪的是它为返回值而不是0打印一个空行。但是,如果我从pydev运行这个python程序,脚本在调用后挂起{ {1}}。我在Windows 7下使用Eclipse SDK 4.2.1下的Pydev 2.7.0.Python版本是2.7.3。
subprocess.call()
我正在测试的powershell脚本非常简单:它打印路径然后返回0:
import subprocess
def run_powershell_script(script):
cmd = ['powershell',
'-ExecutionPolicy',
'RemoteSigned',
'-File',
script]
returncode = subprocess.call(cmd)
print "Done"
return returncode
if __name__ == "__main__":
print run_powershell_script("testscript.ps1")
所以回顾一下,我想我有两个问题,最重要的是当我在pydev下运行这个程序时Write-Host "$env:Path"
exit 0
挂起的原因而另一个问题是为什么当我打印subprocess.call()
时我得到一个空白而不是0。
答案 0 :(得分:1)
我不是100%在这里,但exit
只是杀了剧本?要在退出脚本时返回值,请使用return
..所以请尝试使用此PS脚本:
Write-Host "$env:Path"
return 0