【发布时间】:2014-10-02 03:53:14
【问题描述】:
假设我有一个名为“run.py”的脚本,我该怎么做?
C:\Users\Administrator>run
这个脚本将被执行。请注意,我不想在“运行”之后显示“.py”。 我正在使用 python 3.3.5,并尝试将“C:/python33”放入环境变量路径中。但它没有用。 它似乎只在它是“.exe”文件时才有效。
提前致谢。
【问题讨论】:
假设我有一个名为“run.py”的脚本,我该怎么做?
C:\Users\Administrator>run
这个脚本将被执行。请注意,我不想在“运行”之后显示“.py”。 我正在使用 python 3.3.5,并尝试将“C:/python33”放入环境变量路径中。但它没有用。 它似乎只在它是“.exe”文件时才有效。
提前致谢。
【问题讨论】:
您需要将.py 添加到您的PATHEXT 环境变量中。
来自 Python on Windows 常见问题解答,How do I make Python scripts executable?
在 Windows 上,标准 Python 安装程序已经关联了 .py 具有文件类型 (Python.File) 的扩展名,并为该文件类型提供 打开运行解释器的命令 (
D:\Program Files\Python\python.exe "%1" %*)。这足以制作脚本 从命令提示符执行为“foo.py”。如果你愿意 能够通过简单地键入没有扩展名的“foo”来执行脚本 您需要将 .py 添加到 PATHEXT 环境变量中。
设置环境变量的具体方法因Windows版本不同而异,this link或许能帮到你。
【讨论】:
ShellExecuteEx,因此文件句柄不会从父 shell 继承。因此,要将数据输入或输出或重定向到文件,您仍然需要直接运行 Python,例如some_command | python run.py > out.txt。在这种情况下,shell 直接调用CreateProcess,将bInheritHandles 称为TRUE。