Запуск файла Python в терминале


47

Пытаюсь научиться регулярно запускать мои скрипты через терминал Ubuntu. Это , как сказал , что я знаком с bash, wgetи awkназывают , но , как я называю питон файлы для запуска в терминале? Я хотел бы узнать это, но я не уверен, где это исследовать. У меня есть .pywфайл, который ссылается на несколько .pyфайлов в папке.


Дифференциальный случай в следующем, потому что исходный заголовок слишком общий, включая его - о запуске сценария python в терминале для вызова функции stackoverflow.com/q/25837063/54964
Léo Léopold Hertz 준영

Ответы:


81

Вариант 1: Позвонить переводчику

  • Для Python 2: python <filename>.py
  • Для Python 3: python3 <filename>.py

Вариант 2: пусть скрипт вызовет переводчика

  1. Убедитесь, что первая строка вашего файла имеет #!/usr/bin/env python.
  2. Сделайте это исполняемым chmod +x <filename>.py.
  3. И запустить его как ./<filename>.py

в чем причина того, что когда я хочу запустить мой .py, он работает только с вашим вариантом 1, а второй дает синтаксическую ошибку?
Krsztr

Что делать, если вы хотите открыть новый файл Python ??
asmgx


5

Стоит также упомянуть, что, добавив -iфлаг после python, вы можете продолжать сеанс для дальнейшего кодирования. Нравится:

python -i <file_name.py>

3
python <filename.py>

Думаю, пиу должно работать так же. Вы также можете запустить интерактивную консоль просто

python

Кроме того, вы можете избежать явного вызова python, добавив шебанг вверху скрипта:

#!/usr/bin/env python

... или любое их количество вариантов


2

Первый запуск следующей команды

chmod +x <filename>.py

Затем в верхней части скрипта добавьте #!и путь интерпретатора Python:

#!/usr/bin/python

Если вы хотите, чтобы скрипт не зависел от того, где находится интерпретатор Python, вы можете использовать envпрограмму. Почти все варианты Unix поддерживают следующее, предполагая, что интерпретатор Python находится в каталоге пользователя $PATH:

#! /usr/bin/env python

0

Измените каталоги с помощью cdкаталога на .py и выполните одну из следующих двух команд:

python <filename>.py  # for Python 2.x  
python3 <filename>.py # for Python 3.x 

В качестве альтернативы выполните одну из следующих двух команд:

python /path/to/<filename>.py  # for Python 2.x  
python3 /path/to/<filename>.py # for Python 3.x 

-2

Попробуйте использовать команду python3вместо python. Если скрипт был написан на Python3, и вы пытаетесь запустить его с Python2, у вас могут возникнуть проблемы. Ubuntu имеет оба; изменение имени программы на python3(вместо замены python) сделало это возможным. Ubuntu требуется v2.7 (по состоянию на 16.02.2017), поэтому НЕ удаляйте и не удаляйте Python2, но сохраняйте их оба. Возьмите за привычку использовать Python3 для запуска скриптов, которые могут запускаться либо.


1
-1 Python 3 не может запускать скрипты Python 2 (за некоторыми исключениями).
wjandrea

Мое плохое, ваше право. Наверное, поэтому Ubuntu все еще использует python 2. Извините, wjandrea, спасибо, что поправили меня.
Тони
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.