我最近看到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.
但是,请原谅:)我真的不明白为什么有人会使用#!cmd的非Unixforms,即使它(DOS)为什么跳过它?
用这第一行开始一个Windows批处理脚本( .bat
/ .cmd
):
@echo off & python -x "%~f0" %* & goto :eof
当你运行它的时候, cmd.exe
会以脚本的完整文件路径和其余的命令行参数静静地运行python -x
,然后忽略文件的其余部分。 python
会读取文件,跳过第一行(不会像Python代码那样解析),然后像其他Python脚本一样处理。
在类UNIX平台上这不是必须的,因为你会放
#!/usr/bin/env python
在脚本的顶部获得类似的行为,看起来像是对Python的注释,所以它继续执行整个文件的其余部分。