[python] file.close

zu1234 zu1234 na seznam.cz
Pátek Duben 27 10:55:17 CEST 2012


Mám takovýto problém:
Postupně zapisuji do souboru v dočasném adresáři:
try:
	FI.write(PART)
except:
	FI.close

Pokud ale dojde k zaplnění disku, nedaří se mi dočasný adresář
smazat pomocí:

atexit.register(shutil.rmtree, UNZIP_TMP_DIR)

Upadne to díky tomu že dotyčný soubor je pořád ještě uzamčen:

....
IOError: [Errno 28] No space left on device
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
   File "atexit.pyo", line 24, in _run_exitfuncs
   File "shutil.pyo", line 217, in rmtree
   File "shutil.pyo", line 215, in rmtree
WindowsError: [Error 32] Proces nemá přístup k souboru
neboť jej využívá jiný proces: '...jméno souboru...'
Error in sys.exitfunc:
Traceback (most recent call last):
   File "atexit.pyo", line 24, in _run_exitfuncs
   File "shutil.pyo", line 217, in rmtree
   File "shutil.pyo", line 215, in rmtree
WindowsError: [Error 32] Proces nemá přístup k souboru
neboť jej využívá jiný proces: '...jméno souboru...'



Další informace o konferenci Python