Код: Выделить всё
cmd
Код: Выделить всё
import subprocess as sp
sp.run(["D:/Temp/hello.bat"])
Код: Выделить всё
import subprocess as sp
sp.run(["D:/Temp/hello.ps1"])
Я думал, что это произошло из-за того, что .PS1< /code> не отображался в PATHEXT и добавил его туда, но снова не удалось. Я также попробовал способ, указанный в этом ответе, который, похоже, устанавливает политику выполнения файлов, но он все равно не работает.
Я знаю, что это сработает, если я добавлю исполнителя в вызов, например sp.run(["pwsh", "D:/Temp/hello.ps1"]) или используйте скрипт bat в качестве промежуточного варианта, но это нежелательно, я использую программу, которая плохо перенесена с *nix на Windows, и она просто вызывает все, что я предоставил, как один исполняемый файл (в *nix мы можем использовать shebang). , но не в Windows).
Подробнее здесь: https://stackoverflow.com/questions/788 ... e-executor