How Do I Make Python Choose Randomly One Line After The First Line Of A File?
Is it possible to make python to randomly choose a line EXCEPT the first line of the file which is reserved for something else? Any help appreciated :) with open(filename + '.txt')
Solution 1:
Slice the array:
answer = random.choice(lines[1:])
Solution 2:
You may also reserve the 1st line beforehand and freely use random selection:
with open(filename + '.txt') as f:
reserved_line = next(f) # reserved for something elselines = f.readlines()
answer = random.choice(lines)
Solution 3:
f.readlines()
doesn't read every line from a file; it reads the remaining lines starting with the current file position.
with open(filename + '.txt') as f:
f.readline() # read but discard the first line
lines = f.readlines() # read the rest
answer = random.choice(lines)
print(answer)
Since a file is its own iterator, though, there is no need to call readline
or readlines
directly. You can instead simply pass the file to list
, using itertools.islice
to skip the first line.
from itertools import islice
withopen(filename + '.txt') as f:
lines = list(islice(f, 1, None))
answer = random.choice(lines)
Post a Comment for "How Do I Make Python Choose Randomly One Line After The First Line Of A File?"