Catching a specific IO error

Steven Howe howe.steven at gmail.com
Tue Apr 24 14:06:35 EDT 2007


Steve Holden wrote:
> Thomas Krüger wrote:
>   
>> Tina I schrieb:
>>     
>>> Now, this works but of course it catches every IOError, and I can not
>>> figure out how to restrict it to only catch the "[Errno 2]"?
>>>       
>> There's an example that uses the error number:
>> http://docs.python.org/tut/node10.html#SECTION0010300000000000000000
>>
>>     
> So what you'll need to do is catch all IOError exceptions, then test to 
> see if you've got (one of) the particular one(s) you are interested in. 
> If not then you can re-raise the same error with a bare "raise" 
> statement, and any containing exception handlers will be triggered. If 
> there are none then you will see the familiar traceback termination message.
>
> regards
>   Steve
>   
you could also use some pre-testing of the filename  os.path.isfile, 
os.path.isdir, os.path.split are good
functions to test file/directory existence. Also to verify that you have 
permission to manipulate a file, os.access is a good function.
sph





More information about the Python-list mailing list