将python脚本作为命令行工具的命令之一运行

将python脚本作为命令行工具的命令之一运行,python,cmd,command-line-tool,Python,Cmd,Command Line Tool,我是Python新手,请有人告诉我是否可以注册我们的Python脚本作为cmd.exe的命令之一,我不是在问使用argparse解析或接受命令行参数等问题 假设我有一个SearchDir.py文件,要从cmd提示符运行它,我必须执行“python SearchDir.py”,那么有没有办法简单地执行“SearchDir”,并且它应该作为cmd.exe的命令之一是的,这是可能的(如果我理解正确的话。问题有点不清楚) 您需要做的第一件事是在脚本顶部添加一个shebang:。我看到你提到了cmd.ex

我是Python新手,请有人告诉我是否可以注册我们的Python脚本作为cmd.exe的命令之一,我不是在问使用argparse解析或接受命令行参数等问题

假设我有一个SearchDir.py文件,要从cmd提示符运行它,我必须执行“python SearchDir.py”,那么有没有办法简单地执行“SearchDir”,并且它应该作为cmd.exe的命令之一是的,这是可能的(如果我理解正确的话。问题有点不清楚)

您需要做的第一件事是在脚本顶部添加一个shebang:。我看到你提到了cmd.exe,所以我想你需要它在Windows上工作?那样的话,你也应该阅读

在unix主机上,我们需要做的第二件事是使用
chmod+x
将文件设置为可执行文件。我尽量远离Windows,但从我记忆中的情况来看,这与Windows无关

最后,您需要将脚本放在$PATH变量引用的文件夹中


现在可以从cmd.exe或unix shell以SearchDir.py的形式访问该脚本。如果您想省略“.py”-部分,只需将文件重命名为“SearchDir”

就可以编写一个包含“python SearchDir.py”的cmd/bat文件?您在说什么?@NikitaKipriyanov这是个好主意,但我相信会有更好的方法。Thanks@CristiFati不,我不是说文件关联好吧。只是在将文件(扩展名)与可执行文件关联后,在命令提示窗口中键入文件名时,该可执行文件将作为第一个参数调用。这就是我理解你需要的。可能我弄错了。根据我列出的文档,是:«为了允许Python脚本中的shebang行在Unix和Windows之间可移植,此启动器支持许多“虚拟”命令来指定要使用的解释器。»@liasis非常感谢liasis。Python Launcher可从Python 3.0获得,因此现在我可以执行SearchDir.py,但将文件重命名为SearchDir不起作用。一种方法是在PATHEXT中添加.py,但在我的例子中,这个实用程序将被许多用户使用,手动将.py添加到PATHEXT不是一个好的选择。