gpt4 book ai didi

python - 用python编写命令并在powershell中执行

转载 作者:太空宇宙 更新时间:2023-11-03 15:55:41 34 4
gpt4 key购买 nike

我有一个 python 脚本,它根据通过 rest 获得的输入构建命令。这些命令在打印出来并复制并粘贴到 powershell 中时有效。我的问题是如何让它实际执行命令?

到目前为止,我已经尝试将命令写入同一目录中的文件并像这样运行:

import subprocess, sys
p = subprocess.Popen(["powershell.exe", "test.ps1"],stdout=sys.stdout)
p.communicate()

但是我得到一个错误:

Traceback (most recent call last): File "C:/Users/pschaefer/src/python/executePowerShell.py", line 2, in p = subprocess.Popen(["powershell.exe", "test.ps1"],stdout=sys.stdout) File "C:\Python27\lib\subprocess.py", line 703, in init errread, errwrite), to_close = self._get_handles(stdin, stdout, stderr) File "C:\Python27\lib\subprocess.py", line 850, in _get_handles c2pwrite = msvcrt.get_osfhandle(stdout.fileno()) UnsupportedOperation: fileno

更新

删除 ,stdout=sys.stdout1 摆脱了之前的错误,现在我明白了

test.ps1 cannot be loaded because running \r\nscripts is disabled on this system.

我已尝试将命令切换到 ".\\test.ps1 Set-ExecutionPolicy -ExecutionPolicy unrestricted",但问题仍然存在。

此外,是否可以将命令构建为字符串并按构建方式逐一执行,而不是创建 .ps1 文件?非常感谢任何能解决这个问题的人!

最佳答案

运行脚本的机器是否启用了 powershell 脚本?您可以通过 Set-ExecutionPolicy 进行设置cmdlet,或者您可以传递 -ExecutionPolicy Bypass 参数以降低权限运行脚本。

关于python - 用python编写命令并在powershell中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43378924/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com