Python — это гибкий язык программирования с широким спектром применений, одним из наиболее полезных из которых является его способность выполнять функции из командной строки. Особенно эта функция очень полезна, когда речь идет об автоматизации, написании сценариев и т. д. В этой статье я объясню, как выполнить функцию Python из командной строки.
Определение функции
Поскольку мы создали файл для сценария Python, мы можем перейти к определению функции, которую мы будем выполнять из командной строки. Ниже приведен сценарий, определяющий функцию, которая возвращает текущую дату и время и печатает их в командной строке.
Python3
# defining a function return the current time
import
time
def
show_time():
return
time.ctime()
if
__name__
=
=
'__main__'
:
(show_time())
Запуск скрипта Python с помощью командной строки
Теперь, когда вы определили свою функцию show_time в этом случае, давайте запустим скрипт из командной строки. Для этого откройте терминал или командную строку и перейдите в каталог, в котором вы сохранили файл Python.
Использование команды Python
Чтобы запустить скрипт с помощью команды Python, введите следующую команду:
python show_time.py
Если скрипт не вызвал никакой ошибки, в этом случае вы можете увидеть вывод, как показано ниже,
Выход:
Команда Python
Использование имени файла сценария
Во-первых, интерпретатор Python оценивает сценарии перед их выполнением, поэтому невозможно запустить сценарий Python без использования команды Python.
Однако в UNIX-подобных операционных системах вы можете указать путь к интерпретатору Python, используя так называемую строку «шебанг». Добавьте строку «shebang» в начало скрипта, который вы хотите запустить, как показано ниже.
Python3
#!/usr/bin/python
import
time
def
show_time():
return
time.ctime()
if
__name__
=
=
'__main__'
:
(show_time())
В приведенном выше коде первая строка #!/usr/bin/python называется шебангом, который указывает местоположение интерпретатора Python. Мы можем выполнить скрипт, используя имя файла, как показано на рисунке.
используя имя файла
Запуск модулей с параметром -m
Обычно мы запускаем скрипт Python как python filename.py, в этом случае мы запускаем скрипт как автономный. Рассмотрим случай, когда мы хотим запустить скрипт, который является частью более крупного проекта, когда на сцену выходит -m или выполнение скрипта как модуля. Чтобы запустить скрипт Python как модуль, следуйте инструкциям на рисунке:
python -m <module_name>
используя опцию -m
Здесь вы можете видеть, что мы не использовали расширение.py после имени файла, так как show_time рассматривается как модуль.
Перенаправление вывода
Перенаправление относится к сохранению вывода, сгенерированного сценарием, в файл для будущих целей, например, при запуске заморозки пипсов мы перенаправляем вывод, который представляет собой пакеты, используемые приложением Python, в файл.txt, как показано ниже,
pip freeze > requirements.txt
Этот.txt может использоваться другими разработчиками для настройки разработки приложения. Точно так же мы можем сохранить или перенаправить вывод скрипта Python в файл, как показано ниже:
Python3
import
time
def
show_time():
return
time.ctime()
if
__name__
=
=
'__main__'
:
(show_time())
python filename.py > outputfile
Выходной файл
Доступ к методу класса из командной строки
Метод класса — это функция , которая работает с самим классом и не требует экземпляра. Чтобы сначала запустить метод класса из командной строки, нам нужно создать метод класса, а для него нам нужно создать класс, поэтому приведенный ниже сценарий состоит из класса с методом класса, который возвращает текущее время,
Python3
#!/usr/bin/python
# defining a function return the current time
import
time
class
ShowTime:
def
__init__(
self
):
pass
@classmethod
def
show_time(
self
):
return
time.ctime()
if
__name__
=
=
'__main__'
:
(ShowTime.show_time())
В приведенном выше сценарии с помощью декоратора @classmethod объявляется метод класса show_time, который при выполнении из командной строки дает следующий результат:
Пример класса