Ahoj, v jedné části programu kopíruji soubory (obvykle velké) a chci mít zajištěno, že když dám ctrl+c tak že v cíli nezbude jen část souboru - chci zajistit jeho smazání přes odchycení sigint:
def signal_handler(signal, frame): print 'You pressed Ctrl+C!' print dest if os.path.isdir(item): shutil.rmtree(dest) if os.path.isfile(item): os. remove(dest) sys.exit(0) signal.signal(signal.SIGINT, signal_handler) toto ale nefunguje, protože cíl je asi stále otevřen původním procesem kopírování. Díky za rady jak z toho ven. You pressed Ctrl+C! xyz.mkv Traceback (most recent call last): File "D:\Zaloha\W7610034.py", line 48, in <module> shutil.copy(item, dest) File "C:\prg\Python26\lib\shutil.py", line 88, in copy copyfile(src, dst) File "C:\prg\Python26\lib\shutil.py", line 54, in copyfile copyfileobj(fsrc, fdst) File "C:\prg\Python26\lib\shutil.py", line 30, in copyfileobj fdst.write(buf) File "D:\Zaloha\W7610034.py", line 11, in signal_handler os. remove(dest) WindowsError: [Error 32] Proces nemß p°Ýstup k souboru, neboŁ jej prßvý vyu×Ývß jinř proces: 'xyz.mkv' >>> xpsp3, py2.x Díky geon Pavel Kosina _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python