return statement in functions
Jp Calderone
exarkun at intarweb.us
Tue Dec 23 13:11:58 EST 2003
On Tue, Dec 23, 2003 at 11:44:39AM -0500, hokieghal99 wrote:
> [snip]
>
> That works, but it only returns the first item in the list. The
> functions are returning a list of paths or of files/dirs. For example,
> the function 'clean_dir_names' should return a complete list of
> directory names that it has removed bad characters from.
>
> def clean_dir_names(path):
> for root, dirs, files in os.walk(path, topdown=False):
> for dname in dirs:
> new_dname = re.sub(bad,'-' ,dname)
> if new_dname != dname:
> newpath = os.path.join(root, new_dname)
> oldpath = os.path.join(root, dname)
> os.renames(oldpath, newpath)
> return new_dname
>
> How do I make the report function see all of the contents of the list
> and not just the first item of the list?
>
No. "return new_dname" terminates execution of the function. If you want
many results, you need to collect them in a list and return the list, or use
a generator.
Jp
> >
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20031223/8c3fc71c/attachment.sig>
More information about the Python-list
mailing list