El módulo easyinput en Python ofrece una interfaz de entrada fácil análoga a cin stream en C++. Admite múltiples tipos de datos, incluidos archivos, y proporciona funcionalidades como entrada hasta diferentes tipos de datos, entrada de varias líneas, etc.
Instalación
Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install easyinput
Función utilizada
- read(*tipo, cantidad=1, archivo, como_lista): Devuelve tokens del flujo de entrada.
Parámetros:
- type : Lista de tipos de datos, para cada tipo se devuelve el token correspondiente.
- cantidad : Para la repetición de un tipo dado por un número específico de veces.
- as_list : si es verdadero, el flujo de tokens se devuelve como una lista; de lo contrario, se devuelve el generador.
- archivo : flujo de entidad de archivo.
- read_many(*tipos, cantidad=1, archivo=_StdIn): lee el token del flujo de entrada a menos que se ingrese el elemento de otro tipo.
Ejemplo 1: Funcionamiento de read() y read_many()
Python3
from easyinput import read_many, read a = read(int) b = read(str) print("The elements using read : ") print(a, b) print("Integer inputs using read many : ") for num in read_many(int): print(num) # reading the string after integers print(read())
Producción :
Ejemplo 2: Usar cantidad() y as_list()
Por lo general, read() devuelve una lista cuando se trabaja con varios argumentos en read(). Si necesitamos usar un generador, no una lista, as_list() se puede establecer en falso. La ventaja que puede tener es que puede evitar la iteración de la lista para acceder y completar diferentes tipos de datos.
Python3
from easyinput import read # input int, str, int chain 3 times multi_input = read(int, str, amount=2) # printing type and input print(type(multi_input)) print(multi_input) # putting as_list = False print("Using as_list false : ") multi_input = read(int, str, amount=2, as_list=False) print(type(multi_input)) print(multi_input)
Producción :
Ejemplo 3: Entrada de archivo usando read_many()
Las funciones read() y read_many() brindan la funcionalidad para obtener archivos como un flujo de entrada para obtener datos de los archivos y representarlos en la consola, o para cualquier archivo que use el parámetro de archivo .
Código:
Python3
from easyinput import read_many print("Getting integer inputs from files : ") with open('gfg_file_input') as inp_file: for ele in read_many(int, file=inp_file): print(ele)
Producción :
Ejemplo 4: uso del tipo de datos personalizado con read()
Aparte de los tipos de datos primitivos, read() puede aceptar instancias de clase que aceptan strings como entrada que se pueden usar para traducir a tipos personalizados para trabajar. El siguiente ejemplo obtiene palabras en minúsculas.
Python3
from easyinput import read class ToLower: def __init__(self, ele): self.ele = ele.lower() def print_ele(self): print(self.ele) # Gets object of ToLower class ele = read(ToLower) # printing the word print("Lowercase string : ") ele.print_ele()
Producción :
Trabajando con read_many_lines()
Similar a read_many(), la diferencia es que lee líneas completas a la vez en lugar de pasar a una nueva línea en los espacios. Lee toda la línea.
Sintaxis:
read_many_lines(rstrip=Verdadero, skip_empty=Falso)
Parámetros:
rstrip : salta todos los caracteres finales de nueva línea que se ingresan. Por defecto el valor es True.
skip_empty: el valor predeterminado es falso, cuando se establece en Verdadero, omite las líneas que son solo caracteres vacíos.
Código:
Python3
from easyinput import read_many_lines print("Reading lines using read many lines : ") count = 1 for line in read_many_lines(): print(line) count = count + 1 if count > 5: break print("Reading lines using read many lines by skipping empty : ") count = 1 for sline in read_many_lines(skip_empty=True): print(sline) count = count + 1 if count > 5: break
Producción :
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA