1

当我尝试powershell从 Python 函数调用时收到以下错误:

无法加载 PSReadline 模块。控制台在没有 PSReadline 的情况下运行。

我有一个名为的函数ps_cli()os.system("powershell -NoProfile")

当我调用它时,我得到以下行为/错误: 在此处输入图像描述

这以前适用于 Windows 7 和 8 机器(我目前无法访问),并且从我阅读的一些内容来看,这可能与 Windows 10 机器上的 PowerShell 5 有关。我正在编写的工具背后的想法是,它可以在具有适当权限的帐户上与任何现代版本的 Windows 一起使用。由于我正在编写更高级的脚本,这似乎会导致几秒钟的延迟,我想知道如何在不做的情况下摆脱它:

使用参数-PSConsoleFile和您之前使用Export-Console.

这是我看到的论坛帖子中建议的。任何想法将不胜感激!

4

1 回答 1

3

-module 是 Powershell 5.0(在 Win10 上)中的PSReadline新内置模块,可提供增强的控制台体验。由于它是内置的,executionpolicy 应该没有问题(即使由于某种原因它没有签名),但检查它永远不会有坏处。这行得通吗?

os.system("powershell -NoProfile -ExecutionPolicy ByPass")

您使用的是第三方控制台吗?该模块可能与除conhost.execmd 和 powershell 使用的 windows 以外的其他控制台兼容。

一个肮脏的解决方法是简单地清除屏幕:

os.system("powershell -NoProfile -NoExit -Command cls")
于 2016-02-28T11:30:43.500 回答