check if directory is writable in a portable way
Andrea Crotti
andrea.crotti.0 at gmail.com
Tue Feb 28 07:01:00 EST 2012
On 02/28/2012 11:34 AM, Tim Chase wrote:
> On 02/28/12 04:07, Andrea Crotti wrote:
>> How should I check if I can create files in a directory?
>>
>> So maybe the only solution that works is something like
>> try:
>> open(path.join('temp', 'w'))
>> except OsError:
>> return False
>> else:
>> os.remove(path.join('temp'))
>> return True
>
> It depends on the system & location. It's possible to set up
> directories with permissions that allow you to create files but not
> delete them, in which case you'd either (1) create the file and
> possibly fail on subsequent tests because the file already exists; or
> (2) litter the directory with tmpnam()-like results that you were
> unable to delete.
>
> It's ugly, I've encountered it, and haven't found a good universal
> solution myself.
>
> -tkc
>
That's really ugly right, didn't think about this possibility.
Well it's not a really critical part of my code, so I guess it's fine
with the try-except dance..
But isn't there (or should there be) a windows-related library that
abstracts this horrible things?
Thanks
More information about the Python-list
mailing list