catching empty strings (I guess that's what they are)
Diez B. Roggisch
deets at nospam.web.de
Mon Jul 9 10:31:39 EDT 2007
brad wrote:
> I've began accepting user input :( in an old program. The input comes
> from a simple text file where users enter filenames (one per line). What
> is the appropriate way to handle blank lines that hold whitespace, but
> not characters? Currently, I'm doing this:
>
> for user_file in user_files:
> # Remove whitespace and make lowercase.
> file_skip_list.append(user_file.strip().lower())
>
> file_skip_list = list(sets.Set(file_skip_list))
>
> However, if the input file has blank lines in it, I get this in my list:
>
> '' (that's two single quotes with noting in between)
>
> I thought I could do something like this:
>
> if user_file == None:
> pass
>
> Or this:
>
> if user_file == '':
> pass
>
> But, these don't work, the '' is still there. Any suggestions are
> appreciated!
They are still there because you perform the stripping and lowercasing in
the append-call. Not beforehand. So change the code to this:
for uf in user_files:
uf = uf.strip().lower()
if uf:
file_skip_list.append(uf)
Diez
More information about the Python-list
mailing list