“./file.py” VS “python file.py”
“./file.py” VS “python file.py”
./file.py
和 python file.py
命令有什么区别?
我看到的
我经常看到人们在使用 vim 或 nano 或 emacs 等终端文本编辑器时使用 ./file.py
,或者在使用 linux 等基于 linux 的操作系统时使用 [=] 29=] 或 Arch Linux.
而且我经常从使用其他操作系统的用户那里看到 python file.py
。我可能不正确。但如果是这样,两者有什么区别呢?
谢谢!
在基于 linux 的操作系统上,当您执行文本文件时,如果它以 #!/bin/python(shebang 语法)开头,它实际上会执行 /bin/python 文件名,所以这样做比一直输入 python 更快,使它成为可执行文件更容易,但没有重大差异
在 Linux 和 Unix 操作系统中,您可以执行可执行文件 (./file.py
) 而无需将其明确指定为 python 文件,同时您也可以执行相同的 file.py
在 Windows 和非 Windows 操作系统中都作为 python file.py
。
要在没有明确前缀 python 的情况下执行此 python 文件,它必须满足以下两个要求:
必须包含 shebang 行:
sha-bang/shebang 行是一行代码,由告诉加载程序使用指定解释器的字符组成,正如 docs
中所述
If the first line of a script file starts with #!, it is known as a
“shebang” line. Linux and other Unix like operating systems have
native support for such lines and they are commonly used on such
systems to indicate how a script should be executed. This launcher
allows the same facilities to be used with Python scripts on Windows
and the examples above demonstrate their use.
To allow shebang lines in Python scripts to be portable between Unix
and Windows, this launcher supports a number of ‘virtual’ commands to
specify which interpreter to use. The supported virtual commands are:
/usr/bin/env python
/usr/bin/python
/usr/local/bin/python
python
必须是可执行文件
在 Linux 和 Unix OS 中,文件根据它们的权限和模式被分开处理,你必须在调用它之前使 file.py
成为可执行文件而不显式前缀 python/python3
,要使 file.py
可执行,您需要通过 运行 chmod +x file.py
从 Linux 终端中的文件目录将模式更改为可执行文件。
./file.py
和 python file.py
命令有什么区别?
我看到的
我经常看到人们在使用 vim 或 nano 或 emacs 等终端文本编辑器时使用 ./file.py
,或者在使用 linux 等基于 linux 的操作系统时使用 [=] 29=] 或 Arch Linux.
而且我经常从使用其他操作系统的用户那里看到 python file.py
。我可能不正确。但如果是这样,两者有什么区别呢?
谢谢!
在基于 linux 的操作系统上,当您执行文本文件时,如果它以 #!/bin/python(shebang 语法)开头,它实际上会执行 /bin/python 文件名,所以这样做比一直输入 python 更快,使它成为可执行文件更容易,但没有重大差异
在 Linux 和 Unix 操作系统中,您可以执行可执行文件 (./file.py
) 而无需将其明确指定为 python 文件,同时您也可以执行相同的 file.py
在 Windows 和非 Windows 操作系统中都作为 python file.py
。
要在没有明确前缀 python 的情况下执行此 python 文件,它必须满足以下两个要求:
必须包含 shebang 行: sha-bang/shebang 行是一行代码,由告诉加载程序使用指定解释器的字符组成,正如 docs
中所述If the first line of a script file starts with #!, it is known as a “shebang” line. Linux and other Unix like operating systems have native support for such lines and they are commonly used on such systems to indicate how a script should be executed. This launcher allows the same facilities to be used with Python scripts on Windows and the examples above demonstrate their use.
To allow shebang lines in Python scripts to be portable between Unix and Windows, this launcher supports a number of ‘virtual’ commands to specify which interpreter to use. The supported virtual commands are:
/usr/bin/env python /usr/bin/python /usr/local/bin/python python
必须是可执行文件
在 Linux 和 Unix OS 中,文件根据它们的权限和模式被分开处理,你必须在调用它之前使 file.py
成为可执行文件而不显式前缀 python/python3
,要使 file.py
可执行,您需要通过 运行 chmod +x file.py
从 Linux 终端中的文件目录将模式更改为可执行文件。