Как я могу запустить.py, не просматривая его первую строку в оболочке, чтобы избежать несовместимости?

Если есть файл test.py, подобный этому:

#!/usr/bin/env python2
# -*- coding:utf-8 -*-
print 'a'

И если я просто наберу в своей оболочке Linux, как это:

$ python test.py

Тогда это будет неправильно, потому что "python" означает, что я укажу интерпретатор для его запуска, который я считаю версией 3.5.2. Другими словами, он будет игнорировать комментарий в первой строке.

Поэтому, если я не знаю версию интерпретатора py-файла и знаю, что в первой строке py-файла есть комментарий, указывающий его версию, как я могу выполнить его, не просматривая его первую строку в оболочке, чтобы избежать возможной несовместимости проблемы?

2 ответа

Решение

Используйте первую строку, как задумано:

$ ./test.py

Обратите внимание, что ваш файл Python должен быть исполняемым, чтобы это работало. Вы можете сделать это с помощью следующей строки:

$ chmod +x ./test.py

Добавим по теме, первая строка - шебанг. Я предлагаю вам прочитать это, если вы хотите узнать больше: https://en.wikipedia.org/wiki/Shebang_(Unix)

Другие вопросы по тегам