Python命令行-x选项

时间:2017-01-29 05:53:48

标签: python windows python-2.7 python-3.x

我最近看到python将-x作为命令行选项,它在这里的文档中做了解释

python -x

Skip the first line of the source, allowing use of non-Unix forms of #!cmd. This is intended for a DOS specific hack only.

但是,请原谅我:)我真的不明白为什么有人会使用非Unix形式的#!cmd,即使它(对于DOS)为什么会跳过它?

1 个答案:

答案 0 :(得分:5)

使用第一行启动Windows批处理脚本(.bat / .cmd):

@echo off & python -x "%~f0" %* & goto :eof

运行它时,cmd.exe将使用脚本的完整文件路径和其余命令行参数静默运行python -x,然后忽略文件的其余部分。 python将读取该文件,跳过第一行(不会解析为Python代码),并将其余内容视为普通的Python脚本。

这在UNIX类平台上不是必需的,因为你要放

#!/usr/bin/env python

在脚本的顶部以获得类似的行为,看起来像是对Python的注释,因此它继续执行文件的其余部分就好了。