默认使用 Powershell 而不是 Cmd 运行 Python 脚本(Windows 10)

默认使用 Powershell 而不是 Cmd 运行 Python 脚本(Windows 10)

我在 Windows 10 上使用 Python 3.6,我注意到每当我双击一个 Python 文件时(例如,从文件资源管理器中): 在此处输入图片描述 它在命令提示符窗口内运行!我更希望它在 PowerShell 窗口内打开。我在这里偶然发现了这个答案: 直接在 PowerShell 中运行 Python 脚本 但在我看来,.py 扩展名已添加到该环境变量中,并且它仍然在 cmd 中打开。所以我不知道该怎么做。

有什么办法可以改变这种情况吗?

答案1

否。Windows 命令提示符 ( cmd.exe) 是不是启动。由于 Python 解释器是一个命令行程序,Windows 控制台主机conhost.exe)启动并为 Python 解释器提供终端界面。

我猜,你说的“在 PowerShell 中运行”是指 PS 风格的蓝色背景。除非你先打开 PS 并在其中运行 Python(尽管这是可能的),否则这很难做到。

您可以通过将 Phthon 解释器包装到批处理文件中来实现这一点:

@echo off
color 1F
python %*

然后编辑注册表以使用以下命令运行 py 脚本mywrapper.bat %1

答案2

我认为你可以使用子进程模块来做到这一点

import subprocess
subprocess.call(
    ["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe","command"])

这应该直接调用 PowerShell,而不是调用命令提示符,然后通过它将命令传递给 PowerShell

相关内容