El manejo de archivos en Python es realmente simple y fácil de implementar. Para extraer una palabra o string aleatoria de un archivo de texto, primero abriremos el archivo en modo de lectura y luego usaremos los métodos en el módulo aleatorio de Python para elegir una palabra aleatoria.
Hay varias formas de realizar esta operación:
Este es el archivo de texto que leeremos:
Método 1: Usar random.choice()
Pasos:
- Con la función, abra el archivo en modo de lectura. La función with se encarga de cerrar el archivo automáticamente.
- Lea todo el texto del archivo y guárdelo en una string
- Divide la string en palabras separadas por espacios.
- Use random.choice() para elegir una palabra o string.
Python
# Python code to pick a random # word from a text file import random # Open the file in read mode with open("MyFile.txt", "r") as file: allText = file.read() words = list(map(str, allText.split())) # print random string print(random.choice(words))
Nota: La función split() , por defecto, se divide por espacios en blanco. Si desea cualquier otro delimitador como el carácter de nueva línea, puede especificarlo como argumento.
Producción:
Lo anterior se puede lograr con solo una línea de código como esta:
Python
# import required module import random # print random word print(random.choice(open("myFile.txt","r").readline().split()))
Método 2: Usar random.randint()
Pasos:
- Abra el archivo en modo de lectura usando la función
- Almacene todos los datos del archivo en una string y divida la string en palabras.
- Cuente el número total de palabras.
- Use random.randint() para generar un número aleatorio entre 0 y word_count.
- Imprima la palabra en esa posición.
Python
# using randint() import random # open file with open("myFile.txt", "r") as file: data = file.read() words = data.split() # Generating a random number for word position word_pos = random.randint(0, len(words)-1) print("Position:", word_pos) print("Word at position:", words[word_pos])
Producción:
Publicación traducida automáticamente
Artículo escrito por anweshamohanty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA