[Python-projects] pylint version 0.16.0 doesn't complain about uninitialized variable

Maarten ter Huurne maarten at treewalker.org
Thu Mar 5 10:55:38 CET 2009


On Thursday 05 March 2009, Aurélien Campéas wrote:
> Le Thursday 05 March 2009 10:07:23 Dotan Barak, vous avez écrit :
> > Hi.
> >
> > I have the following function in my code:
> >
> > <--snip start-->
> > import os
> > import shutil
> >
> > def clear_temp_folder(temp_path):
> >     """ Remove old temporary folder if exists."""
> >
> >     if os.path.exists(temp_path):
> >         try:
> >             shutil.rmtree(temp_path)
> >             rc = 0
> >         except OSError:
> >             rc = 1
> >         if rc:
> >             print "Error, failed to remove old temporary path %s" \
> >                 % temp_path
> >             return rc
> >
> >     return rc
> > <--snip end-->
(code adjusted to line wrapping)
> >
> >
> > From doing code review by eye, i found out that the variable rc can be
> > returned without any initialization,
> > but the pylint could not find it.
>
> rc is either set in the try or in the except block
> hence you don't risk a NameError

This is true for the "if rc" line, but not for the "return rc" at the very 
end of the function.

Bye,
		Maarten



More information about the Python-Projects mailing list