【发布时间】:2011-06-09 06:23:52
【问题描述】:
这行代码是什么意思?没有它,我的python3 http服务器无法理解,让浏览器下载一个空的.py文件(取决于.py文件的链接)
#! /usr/local/bin/python3
【问题讨论】:
这行代码是什么意思?没有它,我的python3 http服务器无法理解,让浏览器下载一个空的.py文件(取决于.py文件的链接)
#! /usr/local/bin/python3
【问题讨论】:
这不是 Python 的东西,它是一个 hashbang(或 shebang)行,指示应由哪个解释器处理文件。
规则各不相同,但最简单的形式是,名称为 xyz 的文件(包含作为第一行),当从带有 xyz 的命令行运行时,将使用该解释器运行它,类似于:
/usr/local/bin/python3 xyz
【讨论】:
这不是特定于 python 的概念,请参阅http://en.wikipedia.org/wiki/Shebang_(Unix)
【讨论】:
这是 shebang/hashbang 行和 Linux/UNIX 的东西,根本与 Python 无关。
执行文件时,内核将看到#! 魔法并使用它后面的任何内容来执行脚本。内核启动的实际程序是program-from-shebang script-file-path [script-args]
请注意,包含.../local/... 路径通常不是一件好事,而是使用例如#!/usr/bin/env python3 这将导致 python3 在更便携的当前 PATH 中被查找。
【讨论】:
这不是特定于 python 的,而是称为 Shebang 并告诉操作系统使用哪个程序来运行此脚本。
【讨论】:
UNIX 社帮?见http://en.wikipedia.org/wiki/Shebang_(Unix)。 ! 和第一个 / 之间的空格可能不应该存在。
【讨论】: