Pergunta

O que é a linha

#!/usr/bin/env python

na primeira linha de um script python utilizado?

Foi útil?

Solução

No UNIX e Linux este diz que binário para uso como um intérprete (ver também Wiki página ). Por exemplo shell script é interpretado por /bin/sh.

#!/bin/sh

Agora, com python é um pouco complicado, porque você não pode assumir que o binário está instalado, nem que você deseja usar. Assim, o truque /usr/bin/env. É de binário usar qualquer python é o primeiro na $PATH. Você pode verificar que a execução which python

Com a linha intérprete você pode executar o script chmoding-lo para executável. E apenas executá-lo. Assim, com roteiro que começa com

#!/usr/bin/env python

estes dois métodos são equivalentes:

$ python script.py

e (assumindo que antes que você fez chmod +x script.py)

$ ./script.py

Isso é útil para a criação de scripts todo o sistema.

cp yourCmd.py /usr/local/bin/yourCmd
chmod a+rx /usr/local/bin/yourCmd

E então você chamá-lo de qualquer lugar apenas com

yourCmd

Outras dicas

Em sistemas operacionais semelhantes UNIX e, esta linha diz que intérprete é para ser usado se o arquivo é executado.

disse

Como Andri. No Windows, o arquivo executável para executar um arquivo com quando iniciado a partir da linha de comando depende de uma associação:

16:12:40.68 C:\>assoc .py
.py=Python.File

16:13:53.45 C:\>assoc Python.File
Python.File=Python File

16:14:01.70 C:\>ftype Python.File
Python.File="C:\Python30\python.exe" "%1" %*

Em Unix, o interpretador shell faz a inferência abrindo o arquivo e ver se existe um comando chamado no arquivo.

Apenas uma nota, esta linha é nada mais do que um comentário para o intérprete no Windows .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top