【问题标题】:What does the symbol "#!" mean in Python?符号“#!”是什么意思?在 Python 中是什么意思?
【发布时间】:2011-06-09 06:23:52
【问题描述】:

这行代码是什么意思?没有它,我的python3 http服务器无法理解,让浏览器下载一个空的.py文件(取决于.py文件的链接)

#! /usr/local/bin/python3

【问题讨论】:

    标签: python shebang


    【解决方案1】:

    这不是 Python 的东西,它是一个 hashbang(或 shebang)行,指示应由哪个解释器处理文件。

    规则各不相同,但最简单的形式是,名称为 xyz 的文件(包含作为第一行),当从带有 xyz 的命令行运行时,将使用该解释器运行它,类似于:

    /usr/local/bin/python3 xyz
    

    【讨论】:

      【解决方案2】:

      这不是特定于 python 的概念,请参阅http://en.wikipedia.org/wiki/Shebang_(Unix)

      【讨论】:

        【解决方案3】:

        这是 shebang/hashbang 行和 Linux/UNIX 的东西,根本与 Python 无关。

        执行文件时,内核将看到#! 魔法并使用它后面的任何内容来执行脚本。内核启动的实际程序是program-from-shebang script-file-path [script-args]

        请注意,包含.../local/... 路径通常不是一件好事,而是使用例如#!/usr/bin/env python3 这将导致 python3 在更便携的当前 PATH 中被查找。

        【讨论】:

          【解决方案4】:

          这不是特定于 python 的,而是称为 Shebang 并告诉操作系统使用哪个程序来运行此脚本。

          【讨论】:

            【解决方案5】:

            UNIX 社帮?见http://en.wikipedia.org/wiki/Shebang_(Unix)! 和第一个 / 之间的空格可能不应该存在。

            【讨论】:

              猜你喜欢
              • 2010-09-29
              • 2015-02-13
              • 2011-04-18
              • 2013-06-29
              • 2011-04-07
              • 2014-05-11
              • 1970-01-01
              • 1970-01-01
              • 2022-12-22
              相关资源
              最近更新 更多