Apr-07-2022, 09:34 AM
Use a random number as the record (line) to select (as suggested by deanhystad), and only return that record (line).
Or something similar
from random import random
- Run once: Get number of lines in input file:
linecount = sum(1 for line in open(file))
- Create random number between 1 and linecount:
line_to_read = random.randint(1, linecount)
- Read until record == line_to_read.
- --- or ---
- Read entire file record by record into a list
- Use random number to select record
- --- or ---
- create list of file positions by reading file line by line and using f.tell
- choose item from list using random number
- Use f.seek to fetch selected record from the file.
Or something similar