Запуск файлу 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>

pyw має працювати так само, я думаю. Ви також можете запустити інтерактивну консоль просто

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.