我最近看到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)为什么会跳过它?
答案 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的注释,因此它继续执行文件的其余部分就好了。