В Python получение пользовательского ввода с терминала — обычная задача во многих приложениях. В этом сообщении блога будут рассмотрены несколько методов с примерами кода о том, как получить строку из терминала с помощью Python. Независимо от того, создаете ли вы инструмент командной строки или текстовую игру, эти методы пригодятся. Давайте погрузимся!
Метод 1: использование функции input()
Самый простой способ получить пользовательский ввод в виде строки в Python — использовать встроенную функцию input(). Вот пример:
name = input("Enter your name: ")
print("Hello, " + name + "!")
Метод 2: использование метода sys.stdin.readline()
Объект sys.stdinпредоставляет способ чтения пользовательского ввода с терминала. Вот пример:
import sys
name = sys.stdin.readline().strip()
print("Hello, " + name + "!")
Метод 3: использование функции getpass()
Функция getpass()из модуля getpassпозволяет запрашивать у пользователя ввод данных без повторного отображения ввода на Терминал. Вот пример:
import getpass
password = getpass.getpass("Enter your password: ")
print("Password entered!")
Метод 4. Использование метода click.prompt() (библиотека Click)
Если вы создаете интерфейс командной строки, библиотека clickпредоставляет удобный способ запроса пользователя. для ввода. Вот пример:
import click
name = click.prompt("Enter your name")
print("Hello, " + name + "!")
Метод 5: использование модуля argparser
Если вы создаете сценарий, который принимает аргументы командной строки, модуль argparseможно использовать для запроса ввода данных пользователем. Вот пример:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--name", help="Enter your name")
args = parser.parse_args()
print("Hello, " + args.name + "!")
Метод 6: использование библиотеки PyInquirer
Библиотека PyInquirerпредоставляет мощный инструмент интерактивных подсказок для Python. Вот пример:
Метод 7: использование библиотеки проклятий.
Если вы создаете текстовый пользовательский интерфейс, библиотеку cursesможно использовать для создания интерактивных терминальных приложений. Вот упрощенный пример:
import curses
stdscr = curses.initscr()
curses.echo()
stdscr.addstr(0, 0, "Enter your name: ")
name = stdscr.getstr(0, len("Enter your name: "))
stdscr.addstr("Hello, " + name.decode() + "!")
curses.endwin()
Это были семь различных методов получения строки из терминала в Python. В зависимости от вашего конкретного случая использования и требований вы можете выбрать наиболее подходящий подход. Теперь у вас есть множество возможностей для эффективной обработки пользовательского ввода в ваших проектах Python!