从python代码运行powershell脚本

从python代码运行powershell脚本,python,powershell,Python,Powershell,我需要在Windows上从python代码运行PowerShell脚本。我已经安装了python,并且已经设置了环境变量 我也尝试了子流程。调用,但没有任何效果。我得到一个错误: io.UnsupportedOperation:文件号 Python代码 import subprocess , sys p = subprocess.Popen (["C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "C:\\User

我需要在Windows上从python代码运行PowerShell脚本。我已经安装了python,并且已经设置了环境变量

我也尝试了
子流程。调用
,但没有任何效果。我得到一个错误:

io.UnsupportedOperation:文件号

Python代码

import subprocess , sys

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

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

您没有捕获程序输出,在创建一个新进程时,您可以给出这样的
子进程([],stdout=sys.stdout)

您需要详细说明“什么都不起作用”您是否可以尝试使用
检查输出
而不是
Popen
?在这种情况下,会将输出作为返回值,而不是进程(您不需要),如果它不能正常工作,则会出现异常。我尝试检查输出,会显示错误子进程。CalledProcessError
“C:\\Users\\Desktop\\test.ps1”
似乎不太可能是您的用户名“Desktop”powershell文件位于用户文件夹的根目录中。但除此之外,无论PS1是否存在,无论我是否有权在路径中创建新项,您的代码在Python 2.7中运行时都不会出错。它为什么是您的有效路径--“C:\\Users\\Desktop\\test.PS1”。。应该有一个对应于该路径的用户