从Python文本文件中的一行中提取随机单词或字符串
Python中的文件处理非常简单且易于实现。为了从文本文件中提取随机单词或字符串,我们将首先以读取模式打开文件,然后使用 Python 的random模块中的方法来选择一个随机单词。
有多种方法可以执行此操作:
这是我们将从中读取的文本文件:
方法 1:使用random.choice()
脚步:
- 使用with函数,以读取模式打开文件。 with函数负责自动关闭文件。
- 从文件中读取所有文本并存储在一个字符串中
- 将字符串拆分为由空格分隔的单词。
- 使用random.choice()选择一个单词或字符串。
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))
Python
# import required module
import random
# print random word
print(random.choice(open("myFile.txt","r").readline().split()))
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])
注意: split()函数默认按空格分割。如果您想要任何其他分隔符,如字符,您可以将其指定为参数。
输出:
只需像这样的一行代码就可以实现上述目的:
Python
# import required module
import random
# print random word
print(random.choice(open("myFile.txt","r").readline().split()))
方法 2:使用random.randint()
脚步:
- 使用with函数以读取模式打开文件
- 将文件中的所有数据存储在一个字符串中,并将该字符串拆分为单词。
- 计算总字数。
- 使用random.randint()生成一个介于 0 和word_count 之间的随机数。
- 在该位置打印单词。
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])
输出: