import random
lines = open('file.txt').read().splitlines()
myline =random.choice(lines)
print(myline)
Для очень длинного файла: найдите случайное место в файле на основе его длины и найдите два символа новой строки после позиции (или новой строки и конца файла). Повторите 100 символов до или с начала файла, если исходная позиция поиска была & lt; 100, если мы оказались внутри последней строки.
Однако это сложнее, так как файл является итератором. возьмите random.choice (если вам нужно много, используйте random.sample):
import random
print(random.choice(list(open('file.txt'))))