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