Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/47: Рейтинг темы: голосов - 47, средняя оценка - 4.55
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115

Программа должна удалить сама себя

10.08.2019, 23:54. Показов 9875. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я хочу чтобы программа удалила свой .exe файл, то бишь саму себя, с помощью
Python
1
os.remove('disk_name:\\file_name'
можно удалять .exe файлы с компа, я написал маленький код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import os
from glob import glob
import time
 
while True:
    vopros = input("Чем помочь?: ")
    if "прив" in vopros:
        time.sleep(0.2)
        print("привет")
        time.sleep(0.5)
    elif "пока" in vopros:
        time.sleep(0.2)
        print("До встречи!")
        time.sleep(1)
        os.remove('D:\\test.exe')
    else:
        time.sleep(0.2)
        print("Я не знаю этого!")
        time.sleep(0.5)
Программа должна после принятия фразы "пока" удалить файл test.exe, который находится на диске D, где как раз таки и есть .exe файл программы, но когда я пишу "пока", программа просто закрывается, но не удаляет test.exe из диска D, то бишь не удаляет себя, подскажите что не так?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2019, 23:54
Ответы с готовыми решениями:

Программа, выводящая сама себя
Цель - написать такую программу, используя минимальное количество средств (я знаю только питон, поэтому привожу для него: хотелось бы...

Может ли программа удалить сама себя?
Сначала я подумал, что нет. Да. Напрямую она конечно себя не удалит. А вот если она вызовет другую программу, которая...

Подскажите немножко с рекурсией ( Функция должна вызывать сама себя до тех пор пока sum не станет больше х)
Вводим число х. Функция должна вызывать сама себя до тех пор пока sum не станет больше х. Но программа выдает ошибку, Подскажите в чем...

8
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
11.08.2019, 14:25
Vladks, Программа, которая удаляет саму себя, может использоваться только как вредоносная программа. То есть напакостила и сама удалилась, что бы не оставлять следов.
Можно конечно использовать для демонстрации программы с последующим удалением с компьютера, что бы не могли ее использовать официально не приобретя. Но только автоматически я думаю это не возможно, так как ОС не удаляет программу с диска, а только помечает в таблице ее как удаленную, и позволяет в дальнейшем на ее месте записывать другие файлы. Но пока на ее месте не записано что то другое, ее можно восстановить. Поэтому те кто демонстрируют свою программу потом удаляют ее физически с диска. Как они это делают, не знаю, но как то делают.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
11.08.2019, 14:34
Цитата Сообщение от Vladks Посмотреть сообщение
подскажите что не так?
Программа не может удалить саму себя (исполняемый файл), до тех пор пока она работает. После того как она перестала работать(завершилась) - она тем более не может удалить саму себя(свой файл), потому что... завершилась.
... Нужно начинать читать книги по ОС, чтобы не возникало подобных наивных вопросов.

P.S. Разумеется, обходные способы есть, но я не буду их озвучивать.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
12.08.2019, 13:38
Vladks, тут раздел по python, при чём тут exe?
0
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
12.08.2019, 14:47  [ТС]
dondublon, код можно собрать в .exe файл с помощью того же pyinstaller, поэтому и спрашиваю, как сделать чтобы программа могла удалить свой .exe файл, то бишь саму себя, уже понял, что просто через python это не сделать, так как программа вырубается, следовательно уже не работает
0
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,302
12.08.2019, 15:23
Цитата Сообщение от Vladks Посмотреть сообщение
код можно собрать в .exe файл с помощью того же pyinstaller
Это не настоящий exe, это архив на самом деле, распаковывается во временную папку, так что может и можно как-то удалить
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
12.08.2019, 17:19
Лучший ответ Сообщение было отмечено Vladks как решение

Решение

Vladks, собрать, конечно, можно, но можно и не собирать.
.py - файл вы удалите без проблем, ехе - нет. То есть вы по дефолту пошли по пути усложнения своей задачи.
1
9 / 8 / 2
Регистрация: 27.05.2019
Сообщений: 115
12.08.2019, 18:56  [ТС]
dondublon, и правда, удаляет, спасибо
0
in code we trust
 Аватар для __py__
133 / 162 / 12
Регистрация: 29.02.2016
Сообщений: 885
15.08.2019, 17:23
а зачем путь прописывать, если не знаешь где будет лежать файл?
сам удаляется код без всяких путей
Python
1
2
3
4
5
import os
this_code = os.path.abspath(__file__)
os.remove(this_code)
thisdir = os.getcwd()
os.rmdir(thisdir)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.08.2019, 17:23
Помогаю со студенческими работами здесь

Программа копирует сама себя
1)Как сделать что бы после запуска программы пошел оcчет 15 сек а затем запустилась программа c:/my.exe 2) Как сделать что бы после...

Программа, копирующая сама себя
Нужно, чтобы программа скопировала сама себя в определенную папку. Если есть идеи, прошу отписать сюда.

Программа удаляет сама себя
Подскажите вот у меня есть программа и после выполнения каких либо дейтвий нужно чтобы программа удаляла сама себя Как это сделать с...

Программа копирует сама себя
Эта программа (имя 1.bas) копирует свой текст в файл 2.bas. REM REM 1.bas => 2.bas REM CLS DIM S AS STRING

Программа, запускающая сама себя
Требуется, чтобы программа запустила сама себя. Использую: system("start programma.exe"); Но при изменении названия файла такая функция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru