./
é simplesmente um caminho relativo indicando o diretório de trabalho atual. Ao executar um arquivo que não está no seu PATH
, é necessário prefixá-lo com o caminho completo ou um caminho relativo, ./
é o método mais simples de fazer isso, mas também funcionaria se você usasse um caminho completo como /path/to/script.py
A razão pela qual seu script python recebe erros quando você o executa como:
./script.py
em vez de:
python script.py
é porque você não tem uma linha de intérprete hashbang (shebang) na parte superior informando qual interpretador usar ao executar o script. É provável que tente executá-lo com bash ou qualquer shell que você esteja usando para executar o script. (Veja Qual interpretador de shell executa um script sem shebang? )
Para que seu script seja executado corretamente usando python, adicione o seguinte à primeira linha do script:
#!/usr/bin/env python