📌  相关文章
📜  从Python文本文件中的一行中提取随机单词或字符串

📅  最后修改于: 2022-05-13 01:55:22.775000             🧑  作者: Mango

从Python文本文件中的一行中提取随机单词或字符串

Python中的文件处理非常简单且易于实现。为了从文本文件中提取随机单词或字符串,我们将首先以读取模式打开文件,然后使用 Python 的random模块中的方法来选择一个随机单词。

有多种方法可以执行此操作:

这是我们将从中读取的文本文件:

方法 1:使用random.choice()

脚步:

  1. 使用with函数,以读取模式打开文件。 with函数负责自动关闭文件。
  2. 从文件中读取所有文本并存储在一个字符串中
  3. 将字符串拆分为由空格分隔的单词。
  4. 使用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()  

脚步:

  1. 使用with函数以读取模式打开文件
  2. 将文件中的所有数据存储在一个字符串中,并将该字符串拆分为单词。
  3. 计算总字数。
  4. 使用random.randint()生成一个介于 0 和word_count 之间的随机数。
  5. 在该位置打印单词。

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])

输出:

两次样品运行的输出