Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Шутка, которая не работает

Тут в чате бывших коллег, где мы постим мемы, пробежала картинка, которая больше повеселила меня не смыслом, который в неё вкладывал автор, а тем, что на системе, под которую написан код на ней (Виндоуз, очевидно), она не выполнится.

Проблема тут в том, что вызов os.remove умеет удалять только файл, тогда как System32 — папка, знакомая многим пользователям Виндоуз. Я не уверен точно, но думаю, что при её удалении система будет сопротивляться. Она, вроде, как-то защищена от такого.

Возможно, кстати, код и не предполагалось делать рабочим, а шутка немного тоньше — ведь вызов os.remove можно прочитать как «удалить операционную систему», не знаю, я в любом случае хотел рассказать не об этом.

Дело в том, что шутка написана под ОС, под которой она работать не будет, но смешно то, что под ОС, на которую она рассчитана не была, она вполне может заработать.

В Линуксе или МакОСи надо в любом месте, где будет запускаться эта программа, создать папку C:, в ней — папку Windows, а в ней — файл System32, который и удалится, если выпадет искомое число на рандомайзере.

2 комментария
ash 9 мес

Если я правильно помню, в Win98 System32 уже был (как наследие он WinNT) и удалять его можно было (почти) безболезненно. Python тоже где-то тех времен.
Можно считать, что очень старая шутка :-)

Евгений Степанищев 9 мес

Возможно у этой папки стоял атрибут «системная», точно не помню. Кажется все программы как-то на него ориентировались, спрашивали подтверждение или просили снять.

Можно считать, что очень старая шутка :-)

Так ведь в 98-й винде она тоже на сработает — System32 там тоже не файл.

Андрей 9 мес

В Линуксе или МакОСи надо в любом месте, где будет запускаться эта программа, создать папку C:, в ней — папку Windows, а в ней — файл System32, который и удалится, если выпадет искомое число на рандомайзере.

там же слеши в другую сторону

Евгений Степанищев 9 мес

Это не имеет значения.