【问题标题】:How to read a text file by line in python如何在python中逐行读取文本文件
【发布时间】:2015-05-21 21:24:38
【问题描述】:

我想从文本文件中随机检索并打印一整行。

文本文件基本上是一个列表,因此需要搜索该列表中的每个项目。

import random

a= random.random

prefix = ["CYBER-", "up-", "down-", "joy-"]

suprafix = ["with", "in", "by", "who", "thus", "what"]

suffix = ["boy", "girl", "bread", "hippy", "box", "christ"]

print (random.choice(prefix), random.choice(suprafix), random.choice(prefix), random.choice(suffix))

这是我的代码,如果我只是手动将其输入到列表中,但我似乎无法找到如何使用数组或索引逐行捕获文本并使用它

【问题讨论】:

  • 你到底想做什么?你想随机选择这三个列表之一吗?你想从每个列表中选择一个随机元素吗?
  • The text file is basically a list 是什么意思

标签: python text random indexing line-by-line


【解决方案1】:

我不确定我是否完全理解您的要求,但我会尽力提供帮助。

  • 如果您尝试从文件中选择随机行,您可以使用open(),然后是readlines(),然后是random.choice()

    import random
    line = random.choice(open("file").readlines())
    
  • 如果您尝试从三个列表中的每一个中选择一个随机元素,您可以使用random.choice()

    import random
    choices=[random.choice(i) for i in lists]
    

    lists 是一个可供选择的列表。

【讨论】:

  • 这完全有帮助。第一部分完美运行。如果我想搜索 2 个列表,那么第二部分如何工作?
  • @FrancisBrady lists 是一个可供选择的列表。
【解决方案2】:

使用 Python 的 file.readLines() 方法:

with open("file_name.txt") as f:
    prefix = f.readlines()

现在您应该可以遍历列表 prefix

【讨论】:

    【解决方案3】:

    这些答案帮助我从文本文件的列表中获取内容。正如您在下面的代码中看到的那样。但是我有三个列表作为文本文件,我试图随机生成一个 4 字消息,从前 3 个单词的“前缀”和“后缀”列表中选择,第四个单词的“后缀”文件中选择,但我想防止它在打印它们时,从选择一个已经被 random.choice 函数选择的单词

    import random
    
    a= random.random
    
    prefix = open('prefix.txt','r').readlines()
    
    suprafix = open('suprafix.txt','r').readlines()
    
    suffix = open('suffix.txt','r').readlines()
    
    print (random.choice(prefix + suprafix), random.choice(prefix + suprafix), random.choice(prefix + suprafix), random.choice(suffix))

    如您所见,它从这 2 个列表中随机选择 3 个单词

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 2022-11-05
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      相关资源
      最近更新 更多