我在 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