【问题标题】:“./file.py” VS “python file.py”“./file.py” VS “python 文件.py”
【发布时间】:2021-12-04 20:11:34
【问题描述】:

./file.pypython file.py 命令有什么区别?

我所看到的

我经常看到人们在使用终端文本编辑器(如 vim、nano 或 emacs)或使用基于 linux 的操作系统(如 Ubuntu 或 Arch Linux)时使用 ./file.py

我通常会从使用其他操作系统的人那里看到python file.py。我可能不正确。但如果是这样,两者又有什么区别呢?

谢谢!

【问题讨论】:

  • 第一个没有./ 的也适用于正确配置的Windows,因为它会触发在注册表中查找适当的程序以运行“.py”文件。这通常是解释 shebang 行或启动默认 Python 解释器的“py.exe”。

标签: python terminal operating-system editor


【解决方案1】:

在基于linux的操作系统上,当你执行一个文本文件时,如果它以#!/bin/python(shebang语法)开头,它实际上会做/bin/python文件名,所以这样做比这样做更快必须一直键入python,使它成为可执行文件更容易,但没有大的区别

【讨论】:

    【解决方案2】:

    在 Linux 和 Unix 操作系统中,您可以执行可执行文件 (./file.py) 而无需将其明确指定为 python 文件,而您也可以在 Windows 和非 Windows 中执行与 python file.py 相同的 file.py操作系统。

    这个python文件要在没有显式前缀python的情况下执行,它必须满足这两个要求:

    必须包含 shebang 行: sha-bang/shebang 行是一行代码,由告诉加载程序使用指定解释器的字符组成,正如docs

    中所述

    如果脚本文件的第一行以 #! 开头,则称为 “shebang”线。 Linux 和其他类似 Unix 的操作系统有 对此类线路的本机支持,它们通常用于此类 系统来指示脚本应如何执行。这个启动器 允许在 Windows 上将相同的工具与 Python 脚本一起使用 上面的例子展示了它们的用法。

    允许 Python 脚本中的 shebang 行在 Unix 之间移植 和 Windows,此启动器支持许多“虚拟”命令 指定要使用的解释器。支持的虚拟命令有:

        /usr/bin/env python
        /usr/bin/python
        /usr/local/bin/python
        python
    

    必须是可执行文件

    在 Linux 和 Unix 操作系统中,文件根据其权限和模式分别处理,您必须在调用之前将 file.py 设为可执行文件,而无需显式添加 python/python3 前缀,要使 file.py 可执行文件,您需要更改通过在 Linux 终端的文件目录中运行 chmod +x file.py 将模式转换为可执行文件。

    【讨论】:

      猜你喜欢
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2021-10-16
      相关资源
      最近更新 更多