以下是我的代码。此代码从文件中读取行(称为compsc),从中删除\ n,将它们放入数组并随机打印它们,从而消除已打印的每个选项。我想知道的是如何只读取一组特定的行到数组中,因为我在.txt文件中会有很多行。那么,是否有一些代码可以做到这一点,还是我必须将false
置于某个地方?
提前谢谢!
readlines()
答案 0 :(得分:0)
您需要创建一些函数来决定是否保留该行。
import random
def line_filter(line):
"""Return True if you want to keep line, False otherwise."""
...
with open("compsc.txt", "r") as f:
questions = [line.strip() for line in f if line_filter(line)]
random.shuffle(questions)
for question in questions[:4]:
print(question)
答案 1 :(得分:0)
之前已经在本网站上介绍过。简而言之,如果您的文件不大,即不会导致内存问题,您确实可以使用readlines。另请参阅linecache,它已经过优化。