La entrada/salida en Python a veces puede llevar mucho tiempo en los casos en que la entrada es enorme o para generar cualquier cantidad de líneas o una gran cantidad de arrays (listas) línea tras línea.
Entrada rápida
Normalmente, la entrada se toma de STDIN en forma de String usando input() . Y este STDIN se encuentra en el expediente del juez. Así que intente leer la entrada directamente desde el archivo del juez usando el módulo del sistema operativo (OS) y el módulo de entrada/salida (io). Esta lectura se puede hacer en forma de bytes. Al usar este método, la entrada de enteros funciona normalmente, pero para la entrada de strings, almacenará la string como un byte como un objeto. Para corregir esto, la string se puede decodificar usando la función de decodificación .
A continuación se muestra la implementación de Fast I/O en Python:
Python3
# Python program to illustrate the use # of fast Input / Output import io, os, time # Function to take normal input def normal_io(): # Stores the start time start = time.perf_counter() # Take Input s = input().strip(); # Stores the end time end = time.perf_counter() # Print the time taken print("\nTime taken in Normal I / O:", \ end - start) # Function for Fast Input def fast_io(): # Reinitialize the Input function # to take input from the Byte Like # objects input = io.BytesIO(os.read(0, \ os.fstat(0).st_size)).readline # Fast Input / Output start = time.perf_counter() # Taking input as string s = input().decode() # Stores the end time end = time.perf_counter() # Print the time taken print("\nTime taken in Fast I / O:", \ end - start) # Driver Code if __name__ == "__main__": # Function Call normal_io() fast_io()
Producción:
Salida rápida
En lugar de enviar a STDOUT , podemos intentar escribir en el archivo del sistema del juez. El código para eso sería usar sys.stdout.write() en lugar de print() en Python . Pero recuerde que solo podemos generar strings usando esto, así que convierta la salida en una string usando str() o map() .
A continuación se muestra la implementación de la salida rápida:
Python3
# Python program to illustrate the use # of fast Input / Output import time, sys # Function to take normal input def normal_out(): # Stores the start time start = time.perf_counter() # Output Integer n = 5 print(n) # Output String s = "GeeksforGeeks" print(s) # Output List arr = [1, 2, 3, 4] print(*arr) # Stores the end time end = time.perf_counter() # Print the time taken print("\nTime taken in Normal Output:", \ end - start) # Function for Fast Output def fast_out(): start = time.perf_counter() # Output Integer n = 5 sys.stdout.write(str(n)+"\n") # Output String s = "GeeksforGeeks\n" sys.stdout.write(s) # Output Array arr = [1, 2, 3, 4] sys.stdout.write( " ".join(map(str, arr)) + "\n" ) # Stores the end time end = time.perf_counter() # Print the time taken print("\nTime taken in Fast Output:", \ end - start) # Driver Code if __name__ == "__main__": # Function Call normal_out() fast_out()
Producción:
Publicación traducida automáticamente
Artículo escrito por thekushalghosh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA