[GRASS-dev] os.remove

Helmut Kudrnovsky hellik at web.de
Mon Mar 21 04:00:49 PDT 2016


pvanbosgeo wrote
> On 21-03-16 10:12, Paulo van Breugel wrote:
>> Hi devs,
>>
>> In the addon r.forestfrag (python script), I used os.remove() to 
>> remove some temporary files (in lines 230, 258 and 430). However, this 
>> fails in Windows, with an error message like below:
>>
>> WindowsError: [Error 32] The process cannot access the file because it 
>> is being used by another process: 
>> 'c:\\users\\uqdshana\\appdata\\local\\temp\\tmpwlv54l'
>>
>> Removing these lines with os.remove() solves the problem, but than the 
>> user is left with these temporary files. Is there a Window compatible 
>> way to remove them in the script?
> 
> Perhaps I should have looked harder first, the underlying problem 
> (described here: https://www.logilab.org/blogentry/17873) seems to be 
> that the file needs to be closed at OS level, which can be done using 
> os.close().

in one of my addons [1] I'm also using os.remove() of an tempfile. the addon
works also on windows.

yes, closing the file should do it e.g. [2]


[1]
https://trac.osgeo.org/grass/browser/grass-addons/grass7/raster/r.euro.ecosystem/r.euro.ecosystem.py#L287
[2]
https://trac.osgeo.org/grass/browser/grass-addons/grass7/raster/r.euro.ecosystem/r.euro.ecosystem.py#L194



-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/os-remove-tp5257585p5257609.html
Sent from the Grass - Dev mailing list archive at Nabble.com.


More information about the grass-dev mailing list