从Python运行PowerShell脚本无法正常工作

时间:2017-09-06 21:12:02

标签: python python-2.7 powershell subprocess

我正在尝试运行PowerShell脚本test_me.ps1,该脚本需要3个参数:-Name name-Age age-Place place

input_data是我从我的pytest传递的。

这是我的代码:

try:
    output = subprocess.call(
        [
            "powershell.exe",
            "-Name" + input_data['name'],
            "-Age" + input_data['age'],
            "Place" + input_data['place']
        ], '&{. "./test_me.ps1"}')
except subprocess.CalledProcessError, e:
    print "subprocess CalledProcessError.output = " + e.output
print output

我想查看输出。

2 个答案:

答案 0 :(得分:0)

在您的代码中,您只是尝试输出异常错误而您不会得到任何错误,因为您尝试运行的python文件没有出现任何错误。

检查逻辑的应用方式

我认为你可以通过从主python文件返回数据然后将其放在一个文件上来读取这个脚本来完成它。

答案 1 :(得分:0)

你想要的东西是:

output = subprocess.call(
    [
        "powershell",
        "-File", "./test_me.ps1",
        "-Name", input_data['name'], 
        "-Age", input_data['age'], 
        "Place", input_data['place']
    ])