我在 Windows XP 上安装了 Python 2.5,并在某个目录中提供了一组脚本。根据此文章作者:Amanda Birmingham 我可以设置 Python 可执行文件的路径和脚本所在的路径。这意味着我可以这样做:
c:\>python script.py
有没有办法我可以注册 .py 文件,以便我可以像这样执行它们:
c:\>script.py
不包括舍邦或者环境脚本中的行。
打字越少越好。:)
答案1
是的 :) 这确实是常见问题解答 #2:
如果您希望通过简单地输入不带扩展名的“foo”来执行脚本,则需要将.py 添加到 PATHEXT 环境变量中。
编辑:当然,不要忘记将 Python 安装目录添加到 PATH,并且如果您通过该命令解释器之外的方式修改系统范围或用户 PATH 和/或 PATHEXT,则启动命令解释器的另一个实例。
进一步编辑:如果我误解了你的问题:我假设你只对启动 python 脚本感兴趣,而不必输入 .py 扩展名从 cmd.exe 命令行。PATHEXT 是 cmd.exe shell 特有的机制,其他 shell(以及CreateProcess()
和朋友)根本不会关心它。
答案2
我在使用 PHP 时也遇到了完全相同的问题。
http://php.net/manual/en/install.windows.legacy.index.php#install.windows.legacy.commandline(编辑:看来 PHP 的命令行使用现在已成为“遗留”)
我发现可以使用 PHP 脚本作为过滤器......
DIR C:\ | scripts\script | more
(例如 - 其中 scripts\script 是 PHP 脚本 - 注意:没有 PHP 参考)。
为此需要更改注册表。适用于 Windows 上的所有解释器类型语言(PHP、Python、Perl、Ruby)。
答案3
PATHEXT 将允许您省略“.py”,但这不是您要问的,对吗?
如果要将文件扩展名与 Windows 上的应用程序关联,您可以:
- 打开资源管理器窗口。
- 从工具菜单中选择“文件夹选项”。
- 单击“文件类型”选项卡。
- 单击“新建”按钮(假设 PY/PYC/PYW 尚不存在)。
- 输入扩展名(例如“py”、“pyc”或“pyw”),然后单击“确定”
- 单击“更改...”按钮。
- 选择“从列表中选择程序”
- 找到你的 Python 解释器(例如 C:\Python2X 中的 python.exe 或 pythonw.exe)
- 好的,你回去吧。
这些是针对 XP 的说明。我推测 Vista 和 Win7 基本相同,尽管您可能通过其他方式进入列表。