módulo easyinput en Python

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 : 

Demostrando read() y read_many()

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 : 

Usando cantidad() y as_list()

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 :

Números de salida

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 : 

Obtener la conversión de entrada a minúsculas

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 : 

Ejemplos de read_many_lines

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *