[email protected] wrote:
Hi All,
Please look at the following snippet.
{{{
# User defined modules
try:
from scripts import precheck
from scripts import validate
from scripts import constants
except ImportError:
print("ERROR: One of the modules (..scripts/precheck.py, validate.py, constants)
is not present.")
print("INFO : Please verify the above modules, and restart the
installation")
sys.exit(1)
}}}
See the red line.
Please remember that 8% of men, and 1% of women, are colour blind and
may not be able to distinguish red. In the computer community, that
figure is probably higher: I have heard credible reports that red-green
colour blindness is more common among mathematicians, scientists and
computer programmers than normal.
Please also remember that many people, especially programmers, disable
HTML in email, as it is a security and privacy risk. Consequently they
will not see colours, fancy fonts, dancing paperclips, coloured
backgrounds, or any other superfluous junk used in HTML email.
I want to get the name of the particular module which is not available and
hence causing ImportError.
One of the ways can be to get the STDERR and process it using re. !?
Absolutely not. The error message is not part of the API of Python,
which means it could change without warning.
It should be safe to assume that the error message itself will describe
the missing module in some fashion, but parsing the error is the wrong
solution.
The way I would do this is:
# Untested
try:
from scripts import precheck, validate, constants
except ImportError as err:
msg = err.args[0]
msg += '\n whatever new message you want to add'
err.args = (msg,) # note the comma is important
raise # re-raise the exception
Hope that helps.
--
Steven
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor