这行代码是什么意思?如果没有它,我的Python3 HTTP服务器就无法理解并会让浏览器下载一个空的.py文件(依赖于链接到.py文件)。
#! /usr/local/bin/python3
这并不是Python特有的,它是一个hashbang(或者shebang)行,它指示了应该使用哪个解释器处理该文件。
规则因情况而异,但是在其最简单的形式中,文件名为xyz
(包含在第一行中),当在命令行中使用xyz
运行时,将使用相应的解释器运行,类似于:
/usr/local/bin/python3 xyz
这是shebang/hashbang行,与Python无关,而是Linux/UNIX的一个功能。
执行文件时,内核会看到#!
魔法并使用其后的内容来执行脚本。由内核启动的实际程序将是program-from-shebang script-file-path [script-args]
请注意,通常不应包含.../local/...
路径,而应使用例如#!/usr/bin/env python3
,这将在当前PATH中查找python3
,更加便携。
http://en.wikipedia.org/wiki/Shebang_(Unix)
。 !
和第一个/
之间的空格可能不应该存在。