python не компилируемый, а интерпретируемый !
Когда вы на стадии скрипта это пытаетесь сделать то скорее всего у вас получается это потому что python прочитал файл и закрыл его, а затем исполняет инструкции из скрипта.
<СОВЕТ>:
Странные у вас методы для получения имени файла:
Почему бы не использовать это:
from sys import argv
argv[0]#Имя файла, но в live режиме просто "".
Решение вашей проблемы:
1)
1.1)Это можно сделать через .bat как я думаю :)
1.2)Для начала убить процесс, а затем удалить файлы :)
Гайд по cmd:
https://ab57.ru/cmdlist.html
2)
Другим приложением :)
С теми же пунктами :)