Как запустить файл .py в ipython?

Информация о статье

В создании этой статьи участвовала наша опытная команда редакторов и исследователей, которые проверили ее на точность и полноту.

Категории: Программирование

На других языках:

English: Use Windows Command Prompt to Run a Python File, Nederlands: Een Pythonbestand openen met de Windows opdrachtprompt, Deutsch: Mit der Windows Kommandozeile eine Python Datei ausführen, Tiếng Việt: Khởi chạy tập tin Python bằng Windows Command Prompt, 中文: 使用Windows命令提示符运行Python文件, Italiano: Usare il Prompt dei Comandi di Windows per Eseguire un File di Python, Français: utiliser l’invite de commande de Windows pour exécuter un fichier Python, Português: Executar o Arquivo Python no Prompt de Comando no Windows, Türkçe: Bir Python Dosyasını Çalıştırmak İçin Windows Komut İstemi Nasıl Kullanılır, ไทย: ใช้ Command Prompt ของ Windows เปิดไฟล์ Python

Эту страницу просматривали 1750 раз.

Была ли эта статья полезной?

Да
Нет

 

Парсим опциональные параметры с click

Как вы, возможно, догадались, тестовый API ограничивает нас в возможностях. Поэтому, прежде чем мы продолжим, зарегистрируйтесь и получите настоящий API-ключ.

Первое, что нам нужно изменить, — URL, откуда берутся данные о текущей погоде. Это можно сделать, изменив значение переменной в функции на URL, указанный в документации OpenWeatherMap:

Это изменение приведёт к неработоспособности нашего CLI, так как указанный API-ключ не работает с реальным API. Поэтому давайте добавим новый параметр в наш CLI, который позволит нам указывать API-ключ. Но сначала мы должны решить, будет ли этот параметр аргументом или опцией. Мы сделаем его опцией, так как добавление параметра вроде делает его более явным и говорящим за себя.
Мы хотим, чтобы наша программа запускалась таким образом:

Проще простого. Посмотрим, как добавить опцию к нашей существующей команде:

И снова мы добавляем декоратор к нашей функции . В этот раз мы используем декоратор с говорящим именем и указываем имя для нашей опции, начинающееся с двух тире. Как вы видите, мы также можем указать сокращение для нашей опции с одним тире, чтобы сэкономить пользователю немного времени.

Как было сказано ранее, click создаёт аргумент для передачи в функцию из длинного варианта имени. В случае с опцией он убирает впередистоящие тире и переводит её в snake case. Таким образом, становится .

Чтобы всё заработало, осталось лишь передать API-ключ в функцию .

Мы добавили возможность указывать свой собственный ключ и проверять погоду в любом месте:

Многострочный код Python в консоли

При создании многострочного кода в консоли интерпретатор Python использует троеточие (…) в качестве вспомогательной строки.

Чтобы выйти из вспомогательной строки, нужно дважды нажать Enter.

Чтобы понять, как это работает, рассмотрите этот код, который задает значения двум переменным и использует условное выражение, чтобы определить вывод.

В данном случае первая строка длиннее, чем вторая, потому срабатывает первое условие и программа выводит соответствующую строку.

Обратите внимание, при этом нужно соблюдать соглашение об отступах Python (четыре пробела), иначе вы получите сообщение об ошибке:

Зачем вам писать скрипты и инструменты для командной строки на Python?

Код выше – всего лишь пример, не очень полезный в реальной жизни. На самом деле скрипты бывают куда более сложные

Возможно, вы имели опыт с ними и знаете, что они могут быть важной частью нашей повседневной работы: некоторые скрипты остаются на протяжении всего времени жизни проекта, для которого они были написаны. Некоторые начинают приносить пользу другим командам или проектам

У них даже может расширяться функционал.

В этих случаях важно сделать скрипты более гибкими и настраиваемыми с помощью параметров командной строки. Они позволяют указать имя сервера, учётные данные или любую другую информацию скрипту

Здесь приходят на выручку такие модули, как optparse и argparse, которые делают нашу жизнь на порядок проще. Но прежде чем мы с ними познакомимся, давайте разберёмся с терминологией.

Использование командной строки интерпретатора¶

Откройте окно терминала (как было описано в главе
Установка) и запустите интерпретатор Python, введя
команду и нажав .

Пользователи Windows могут запустить интерпретатор в командной строке, если
установили переменную надлежащим образом. Чтобы открыть командную
строку в Windows, зайдите в меню “Пуск” и нажмите “Выполнить…”. В появившемся
диалоговом окне введите “cmd” и нажмите ; теперь у вас будет всё
необходимое для начала работы с python в командной строке DOS.

Если вы используете IDLE, нажмите “Пуск” –> “Программы” –> “Python 3.0” –>
“IDLE (Python GUI)”.

Как только вы запустили , вы должны увидеть в начале строки,
где вы можете что-то набирать. Это и называется командной строкой
интерпретатора Python.

Теперь введите и нажмите клавишу .
В результате должны появиться слова “Hello World”.

Вот пример того, что вы можете увидеть на экране, если будете использовать
компьютер с Mac OS X. Информация о версии Python может отличаться в зависимости
от компьютера, но часть, начинающаяся с приглашения (т.е. от и далее)
должна быть одинаковой на всех операционных системах.

$ python3
Python 3.3.0 (default, Oct 22 2012, 12:20:36)
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.60))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
>>>

Обратите внимание, что Python выдаёт результат работы строки немедленно! Вы
только что ввели одиночный “оператор” Python. используется для
того, чтобы (что неудивительно ) напечатать любое переданное в него
значение

В данном случае мы передали в него текст “Hello World”, который и был
напечатан на экране.

Установка в Windows¶

Посетите страницу http://www.python.org/download/ и загрузите последнюю версию.
Установка производится так же, как и для любых других программ для Windows.

Интересно, что большую часть загрузок производят именно пользователи Windows.
Конечно, это не даёт представления о полной картине, поскольку у большинства
пользователей GNU/Linux Python установлен в системе по умолчанию.

Командная строка DOS

Для использования Python из командной строки Windows, т.е. приглашения DOS,
необходимо установить должным образом переменную PATH.

Для Windows 2000, XP, 2003 , перейдите в “Панель управления” –> “Система”
–> “Дополнительно” –> “Переменные среды”. Нажмите на переменной с именем
в отделе “Системные переменные”, после этого выберите
“Редактировать” и допишите к концу того, что там уже есть
(проверьте, существует ли такой каталог, так как для более новых версий Python
он будет иметь другое имя). Конечно, укажите действительное имя каталога.

Для более старых версий Windows добавьте следующую строку в файл
: ‘‘ (без кавычек) и
перезапустите систему. Для Windows NT используйте файл .

Для Windows Vista:

  1. Нажмите кнопку “Пуск” и выберите “Панель управления”.
  2. Нажмите “Система”, справа вы увидите “Просмотр основных сведений о вашем
    компьютере”. Слева – список действий, последним из которых будет
    “Дополнительные параметры системы.” Нажмите её. Отобразится вкладка
    “Дополнительно” диалога параметров системы. Нажмите кнопку “Переменные
    среды” справа внизу.
  3. В нижнем поле под названием “Системные переменные” прокрутите до и
    нажмите кнопку “Редактировать”.
  4. Измените путь, как нужно.
  5. Перезапустите систему. Vista не обновляет системные пути до перезагрузки.

Для Windows 7:

  1. Щёлкните правой кнопкой мыши на значке “Компьютер” на рабочем столе и
    выберите “Свойства”; иначе – нажмите кнопку “Пуск” и выберите “Панель
    Управления” –> “Система и безопасность” –> “Система”. Нажмите
    “Дополнительные параметры системы” слева, а затем выберите вкладку
    “Дополнительно”. Внизу нажмите кнопку “Переменные среды” и в отделе
    “Системные переменные” найдите переменную , выберите её и нажмите
    “Редактировать”.
  2. Перейдите к концу строки в поле “Значение переменной” и допишите
    .
  3. Если значение переменной было , теперь оно примет
    вид
  4. Нажмите “Ok”, и всё. Перезагрузка не требуется.

8 ответов

216

Лучший ответ

Существует несколько способов. Я перечислил их в порядке инвертированного предпочтения (то есть, во-первых, лучше всего в последнем):

Рассматривайте его как модуль: . Это хорошо, потому что оно безопасно, быстро и обслуживается. Код используется повторно, поскольку это должно быть сделано. Большинство библиотек Python запускаются с использованием нескольких методов, растянутых по множеству файлов. Настоятельно рекомендуется

Обратите внимание, что если ваш файл называется , ваш не должен включать расширение в конце.
Беспокойная (и небезопасная) команда :. Небезопасный, хакерский, обычно неправильный ответ

Избегайте, где это возможно.
Вызвать процесс оболочки: . Используйте при отчаянии.

Ответ дал

02 нояб. 2011, в 03:43
Поделиться

26

Получить один файл python для запуска другого, используя python 2.7.3 и Ubuntu 12.10:

  • Поместите это в main.py:

  • Поместите это в свой файл yoursubfile.py

  • Запустите его:

  • Он печатает:

Таким образом, запускает

Есть 8 способов ответить на этот вопрос. Более канонический ответ здесь: Python: как импортировать другие файлы Python

Ответ дал

08 дек. 2013, в 19:26
Поделиться

7

Примечание:  поместите файл в тот же каталог вашего основного файла python.

Ответ дал

23 янв. 2016, в 21:36
Поделиться

4

Вы обрабатываете один из файлов в качестве модуля python и заставляете его импортировать его (как вы импортируете стандартные модули python). Затем последний может ссылаться на объекты (включая классы и функции), определенные в импортированном модуле. Модуль также может запускать любой требуемый код инициализации. См. http://docs.python.org/tutorial/modules.html

Ответ дал

02 нояб. 2011, в 02:13
Поделиться

2

Я использовал subprocess.call почти так же, как subprocess.Popen

Ответ дал

12 июль 2017, в 05:24
Поделиться

1

или how-can-i-make-one-python-file-run-another-file

Ответ дал

20 июнь 2017, в 16:13
Поделиться

1

Вы можете использовать этот script:

Синтаксис:

Ответ дал

16 апр. 2017, в 15:29
Поделиться

Его можно назвать aa1.py из основного script, как показано ниже,

aa1.py может быть что-то ниже,

Ответ дал

01 июнь 2017, в 20:20
Поделиться

Запуск программ

Пока наш Python может рабо­тать толь­ко через команд­ную стро­ку — какие коман­ды вве­дё­те, те он и выпол­нит. Мно­гим раз­ра­бот­чи­кам это нра­вит­ся, но для стар­та это неудоб­но. Напри­мер, что­бы запу­стить про­грам­му, нуж­но напи­сать в команд­ной стро­ке так:

Пол­ное имя озна­ча­ет, что нуж­но напи­сать не толь­ко назва­ние фай­ла, но и диск с пап­кой, где он нахо­дит­ся. Что­бы было понят­нее, давай­те возь­мём наш код из ста­тьи про тай­мер на Python и сохра­ним его в фай­ле time.py3 на дис­ке D. Py3 озна­ча­ет, что внут­ри это­го фай­ла будет код на Python3. Мож­но про­сто назвать файл python.py, без трой­ки, но для неко­то­рых момен­тов это может быть важ­но.

Теперь, что­бы запу­стить наш код, напи­шем в команд­ной стро­ке:

Резуль­тат рабо­ты — выпол­нен­ный алго­ритм:

Доступ к интерактивной консоли

Доступ к интерактивной консоли Python можно получить с любого локального компьютера или сервера, на котором установлен Python.

Для входа в интерактивную консоль Python используйте команду:

Если вы настроили среду разработки, вы можете получить доступ к консоли внутри этой среды.  Сначала запустите среду:

Затем откройте консоль:

  • Настройка локальной среды разработки для Python 3 в Ubuntu 16.04
  • Установка Python 3 и настройка среды разработки на сервере Ubuntu 16.04

В этом случае по умолчанию используется версия Python 3.5.2, которая отображается на выходе вместе с уведомлением об авторских правах и командами для дополнительной информации:

Поле для ввода следующей команды – три знака больше:

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

Вывод сообщает, что теперь будет использоваться версия Python 2.7.12. Если бы она была версией Python по умолчанию, открыть её интерактивную консоль можно было бы с помощью команды python2.

Чтобы вызвать интерактивную консоль версии Python 3 по умолчанию, нужно ввести:

Также консоль этой версии можно вызвать с помощью команды:

Ошибки при компиляции в Python

Иногда при установке пакетов с помощью pip вы будете сталкиваться с ошибками вроде такой:

      C:\Users\MiAl\AppData\Local\Temp\pip-install-ozk99u7o\pycairo\cairo\pycairo.h(37): fatal error C1083: ЌҐ г¤ Ґвбп вЄалвм д « ўЄ«о祭ЁҐ: cairo.h: No such file or directory,
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.23.28105\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

В ней сказано, что компиляция завершилась ошибкой из-за того, что не найден файл cairo.h.

Ещё один пример:

    netfilterqueue.c
    netfilterqueue.c(434): fatal error C1083: ЌҐ г¤ Ґвбп вЄалвм д « ўЄ«о祭ЁҐ: netinet/ip.h: No such file or directory,
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.23.28105\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

В этой ошибке сказано, что компиляция завершилась ошибкой из-за того, что не найден файл netinet/ip.h.

Точно такие же ошибки из-за отсутствия файлов с расширением .h могут возникать и в Linux. Файлы с расширением .h являются так называемыми заголовками — то есть файлами исходного кода для импорта в другие приложения. В каждом случае придётся индивидуально выяснять, к какому пакету относится отсутствующий файл и устанавливать этот пакет.

Использование программных файлов¶

А теперь давайте вернёмся к программированию. Существует такая традиция, что
какой бы язык программирования вы ни начинали учить, первой вашей программой
должна быть программа “Привет, Мир!”. Это программа, которая просто выводит
надпись “Привет, Мир!”. Как сказал Simon Cozens, это “традиционное
заклинание богов программирования, которое поможет вам лучше изучить язык”.

Запустите выбранный вами редактор, введите следующую программу и сохраните её
под именем .

Если вы пользуетесь Komodo Edit, нажмите “Файл” –> “Новый” –> “Новый файл”,
введите строку:

print('Привет, Мир!')

В Komodo Edit нажмите “Файл” –> “Сохранить” для сохранения файла.

Куда сохранить файл? В любую папку, расположение которой вы знаете. Если вы
не понимаете, что это значит, то создайте новую папку и используйте её для
всех ваших программ на Python:

  • в Windows
  • в GNU/Linux
  • в Mac OS X

Чтобы создать папку, воспользуйтесь командой в терминале. Например,
.

Важно

Не забывайте указывать расширение файла . Например, “”.

В Komodo Edit нажмите “Инструменты” –> “Запуск команды”, наберите
и нажмите “Выполнить”. Вы должны увидеть вывод,
показанный на скриншоте ниже.

Но всё-таки лучше редактировать программу в Komodo Edit, а запускать в
терминале:

  1. Откройте терминал, как описано в главе .
  2. Перейдите в каталог, в котором вы сохранили файл. Например, .
  3. Запустите программу, введя команду .

Вывод программы показан ниже.

$ python3 helloworld.py
Привет, Мир!

Если у вас получился такой же вывод, поздравляю! – вы успешно выполнили вашу
первую программу на Python. Вы только что совершили самый сложный шаг в
обучении программированию, заключающийся в написании своей первой программы!

Если вы получите сообщение об ошибке, введите вышеуказанную программу в
точности так, как показано здесь, и запустите снова

Обратите внимание, что
Python различает регистр букв, то есть – это не то же самое, что
(обратите внимание на букву в нижнем регистре в первом случае и
на букву в верхнем регистре во втором)

Также убедитесь, что перед первым
символом в строке нет пробелов или символов табуляции – позже мы увидим,
почему это важно

Как это работает

Связывание Python с .py и .pyc

Убедитесь, что двойной щелчок на ApplyRE.py запускает его. (Он также должен иметь логотип Python в качестве значка и быть помечен как «файл Python», кстати.) Если этого еще не сделано, щелкните правой кнопкой мыши на .py файле, выберите «Открыть с», «Выбрать программу» и проверьте «Всегда использовать…» Эта ассоциация улучшает удобство, но не является абсолютно необходимой — вы можете указать «python» каждый раз, когда хотите запустить script, например:

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

Но это боль. К счастью, как только Python установлен, в PATH и связан с .py, затем дважды щелкнуть файл .py или напрямую ввести его в качестве команды, должен работать нормально. Здесь мы, похоже, запускаем script напрямую — хорошо и просто запустить его в образце файла, который находится в папке «Мои скрипты», вместе с script.

Основы интерфейса командной строки

Интерфейс командной строки (CLI) начинается с имени исполняемого файла. Вы вводите имя в консоль и получаете доступ к главной точке входа скрипта, такого как pip.

В зависимости от сложности CLI обычно есть определённые параметры, которые вы можете передавать скрипту:

  1. Аргумент, который является обязательным параметром. Если его не передать, то CLI вернёт ошибку. Например, в следующей команде click является аргументом: .
  2. Опция – необязательный параметр, который объединяет имя и значение, например . Вы говорите CLI, что значение должно использоваться как директория для кэша.
  3. Флаг, который включает или выключает определённый сценарий. Вероятно, самым частым является . Вы только указываете имя, а CLI самостоятельно интерпретирует значение.

С более сложными CLI, такими как pip или Heroku CLI, вы получаете доступ к набору функций, которые собраны под главной точкой входа. Они обычно называются командами или подкомандами.

Возможно, вы уже использовали CLI, когда устанавливали Python-библиотеку с помощью команды . Команда говорит CLI, что вы хотите использовать функцию установки пакета, и даёт вам доступ к параметрам, характерным для этой функции.

Более реалистичный пример CLI на Python с использованием click

Теперь, когда вы знаете, как click упрощает написание CLI, давайте взглянем на более реалистичный пример. Мы напишем программу, которая позволяет нам взаимодействовать с веб-API.

API, который мы дальше будем использовать, — OpenWeatherMap API. Он предоставляет информацию о текущей погоде, а также прогноз на пять дней для определённого местоположения. Мы начнём с тестового API, который возвращает текущую погоду для места.

Прежде чем мы начнём писать код, давайте познакомимся с API. Для этого можно использовать сервис HTTPie, включая онлайн-терминал.

Давайте посмотрим, что случится, когда мы обратимся к API с Лондоном в качестве местоположения:

Если вы смущены наличием API-ключа в примере сверху, не переживайте, это тестовый API-ключ, предоставляемый сервисом.

Более важное наблюдение заключается в том, что мы отправляем два параметра (обозначаемые при использовании HTTPie), чтобы узнать текущую погоду:

  • — место, в котором мы хотим узнать погоду;
  • — наш API-ключ.

Это позволяет нам создать простую реализацию на Python с использованием библиотеки requests (опустим обработку ошибок и неудачных запросов для простоты):

Эта функция делает простой запрос к API, используя два параметра. В качестве обязательного аргумента она принимает (местоположение), которое должно быть строкой. Также мы можем указать API-ключ, передавая параметр при вызове функции. Это необязательно, так как по умолчанию используется тестовый ключ.

И вот мы видим текущую погоду в Python REPL:

Как установить PIP в Windows

PIP — это менеджер пакетов, с помощью которого можно искать, устанавливать, обновлять и удалять пакеты Python. В качестве пакетов могут быть как библиотеки, которые являются зависимостями для других программ, так и полноценные программы. Причём PIP правильно обрабатывает зависимости — если для работы программы требуется другие пакеты Python, то PIP их также установит.

В Linux некоторые пакеты Python упакованы в качестве пакетов дистрибутива и распространяются через стандартные репозитории — но таких пакетов меньше, чем доступно в pip. Поэтому в Linux программа pip также используется. Что касается Windows, то здесь pip является самым удобным способом установить нужный пакет.

При установке среды Python описанным выше способом, менеджер пакетов pip также должен установиться. Вы можете проверить это:

pip --help

Обновите важные компоненты:

python -m pip install --upgrade pip
pip install --upgrade setuptools

Полная подпись

Здесь действительная подпись в источнике и как показано :

и присваиваются конструктору . может быть строкой байтов (или unicode, если указать кодировку или ), которые будут переданы в подпроцесс stdin.

Документация описывает и лучше, чем я мог:

и этот пример для лучше, чем один, который я мог бы придумать:

Расширенная подпись

Здесь расширенная подпись, указанная в документации:

Обратите внимание, что это означает, что только список аргументов должен быть передан позиционно. Итак, передайте оставшиеся аргументы в качестве аргументов ключевого слова

Popen

При использовании вместо этого? Я бы изо всех сил пытался найти прецедент, основанный только на аргументах. Однако прямое использование даст вам доступ к его методам, включая , ‘send_signal’, ‘terminate’ и ‘wait’.

Здесь подпись , указанная в . Я думаю, что это наиболее точное инкапсулирование информации (в отличие от ):

Но более информативным является :

Понимание оставшейся документации на будет оставлено как упражнение для читателя.

Скачивание и установка

Для нача­ла нам нуж­но ска­чать уста­нов­щик с офи­ци­аль­но­го сай­та — python.org. Если качать Python с дру­гих сай­тов, мож­но под­це­пить вирус или тро­ян. Ска­чи­вай­те про­грам­мы толь­ко с офи­ци­аль­ных сай­тов.

Несмот­ря на то, что Python 3 вышел 10 лет назад, до сих пор мно­гие спо­рят про то, какую вер­сию луч­ше исполь­зо­вать — вто­рую или тре­тью. Мы за про­гресс, поэто­му кача­ем Python 3, но вы може­те выбрать любую дру­гую.

На глав­ной стра­ни­це сра­зу видим боль­шую жёл­тую кноп­ку, на кото­рой напи­са­но «Download Python». Нажи­ма­ем, сохра­ня­ем и запус­ка­ем файл. Он весит око­ло 25 мега­байт.

Боль­шая жёл­тая кноп­ка, кото­рая отве­ча­ет за послед­нюю вер­сию Python.

Уста­нов­щик спра­ши­ва­ет, как уста­но­вить — всё сра­зу или хоти­те что-то настро­ить? Выби­ра­ем пер­вый вари­ант — Install Now.

В кон­це уста­нов­ки про­грам­ма пред­ло­жит убрать огра­ни­че­ние на дли­ну одной слу­жеб­ной пере­мен­ной. Она отве­ча­ет за то, что­бы вы или дру­гая про­грам­ма мог­ли запу­стить Python почти из любо­го места. Для это­го нуж­но нажать текст в рам­ке.

Когда уста­нов­ка закон­чит­ся, нуж­но про­ве­рить, что всё было сде­ла­но пра­виль­но. Для это­го в команд­ной стро­ке набе­ри­те py (лати­ни­цей) или python и нажми­те кла­ви­шу вво­да. Если всё хоро­шо, в ответ Python вам напи­шет номер сво­ей вер­сии и сбор­ки и пред­ло­жит несколь­ко команд для зна­ком­ства с собой:

Вы с Python 3, поздрав­ля­ем.

Пакеты для работы с командной строкой, доступные в стандартной библиотеке Python 3.x

Добавление команд и параметров в ваши скрипты может сделать их значительно лучше, но парсить командную строку не так просто, как может показаться. Однако вместо того, чтобы пытаться самостоятельно решить эту проблему, лучше воспользоваться одним из многих пакетов, которые сделали это за вас.

Два наиболее известных пакета для этого — optparse и argparse. Они являются частью стандартной библиотеки Python и добавлены туда по принципу «всё включено».

По большей части они делают одно и то же и работают схожим образом. Главное отличие заключается в том, что optparse не используется начиная с Python 3.2, и argparse считается стандартом для создания CLI в Python.

Вы можете узнать о них больше в документации Python, но, чтобы иметь представление, как выглядит скрипт с argparse, посмотрите на пример ниже:

Ссылка на основную публикацию