直接在PowerShell中运行Python脚本


22

我正在使用Windows PowerShell。假设我有一个名为的脚本test.py,可以打印一些内容。如果我做:

PS D:\>.\test.py

然后它会打开一个CMD窗口,打印一些内容然后关闭。它实际上在CMD下运行Python解释器。如果我做

PS D:\>python test.py

它的行为就像我期望的那样,输出出现在PowerShell中。

我该如何命名才能使脚本在PowerShell中运行?


PATHEXT使用以下zdan可接受的答案更新变量后,如果将Python脚本放在PATH环境变量命名的目录中,则不再需要提供标准(或相对)路径来运行它们。然后,Python脚本的行为就像安装的任何其他程序一样,您可以将它们与其他程序/ cmdlet(例如)以及所有其他优点一起通过管道连接在一起。 get-clipboard | myscript.py:)
TheDudeAbides

Answers:


24

编辑PATHEXT环境变量并添加.py扩展名。

只需将此行添加到您的PowerShell配置文件

$env:PATHEXT += ";.py"

或者您可以只在系统设置中全局编辑PATHEXT(只需在“开始”菜单中搜索“环境”,然后选择“编辑帐户的环境变量”选项)。


-1

您可能安装了多个版本的Python,而IDLE正在使用的版本是较新的。要查看您拥有的python版本,可以在命令行中输入> python -V。如果该版本合适,则您可能需要文件的完整路径作为第二个参数。例如> python C:\ myfile.py。

如果您正确安装了Python,则总是有可能只要输入脚本名称即可使用python运行它。例如> myfile.py

我总是发现将C:\ Python27添加到%PATH%变量并将.PY添加到%PATHEXT%变量使运行脚本更加容易。在这种情况下,仅> myfile应该可以工作。

更新后编辑:

仅输入不带参数的> python,将以“交互模式”打开python,这与脚本打算使用的批处理或脚本模式不同。如果使用参数执行,则将第一个参数用作文件路径,并将其他参数传递到sys.argv列表中的脚本。


为什么要从某个地方复制并粘贴答案?您甚至忘记了正确复制格式,并且那里没有“更新”。
slhck 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.