On 02/04/2019 18:55, Stephen J. Turnbull wrote:
>> = Me
  > 3. My most common use case (not very common at that) is for stripping
  > annoying prompts off text-based APIs.  I'm happy using
  > .startswith() and string slicing for that, though your point about
  > the repeated use of the string to be stripped off (or worse,
  > hard-coding its length) is well made.

I don't understand this use case, specifically the opposition to
hard-coding the length.  Although hard-coding the length wouldn't
occur to me in many cases, since I'd use

     # remove my bash prompt
     prompt_re = re.compile(r'^[^\u0000-\u001f\u007f]+ \d\d:\d\d\$ ')
     lines = [prompt_re.sub('', line) for line in lines]

For me it's more often like

    input = get_line_from_UART()
    if input.startswith("INFO>"):
        input = input[5:]
    do_something_useful(input)

which is error-prone when you cut and paste for a different prompt elsewhere and forget to change the slice to match.

--
Rhodri James *-* Kynesim Ltd
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to