如何在python中逐行读取文本文件

时间:2015-03-18 21:34:37

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

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

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

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

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

3 个答案:

答案 0 :(得分:0)

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

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

现在您应该能够遍历列表prefix

答案 1 :(得分:0)

我不确定我完全明白你的要求,但我会尽力帮助。

  • 如果您尝试从文件中选择随机行,则可以使用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 :(得分:0)

这些答案帮助我从文本文件中的列表中获取内容。正如您在下面的代码中看到的那样。但我有三个列表作为文本文件,我试图随机生成一个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个单词