Let exception fire or return None
Peter Otten
__peter__ at web.de
Thu Apr 30 08:28:49 EDT 2015
Cecil Westerhof wrote:
>> (2) you may want to take measures to limit memory usage, e. g.
>>
>> assert index >= 0
>
> I put that in, but as first statement.
For the record, this was not a recommended check, but rather a way to
communicate to the reader of my code that unlike yours it doesn't support
negative indices.
>> try:
>> [line] = itertools.islice(f, index, index+1)
>> except ValueError:
>> raise IndexError
>> return line.rstrip()
>
> In my case it is not important. (The biggest file I use has between
> 100 and 200 lines), but I publish it, so I should do my best to make
> it so lean as possible.
If you keep your
return f.readlines()[index]
anyway you might allow for negative indices, and then
get_indexed_message(message_filename, -1)
fetches the last message in the file and
get_indexed_message(message_filename, slice(None, None))
fetches a list with all messages.
More information about the Python-list
mailing list