Как я могу удалить папку, которая содержит скрипт? - PullRequest
0 голосов
/ 28 февраля 2019

Мне нужно удалить папку , в которой хранится и выполняется скрипт из .Пример:

Folder:
    - script.py
    - some_other_content

И мне нужно удалить папку.Я попытался использовать комбинацию shutil.rmtree() и os.rmdir() следующим образом:

import shutil, os
path = os.path.abspath(__file__ + "/../") #points to Folder 
shutil.rmtree(path)
os.rmdir(path)

Но скрипт был удален после того, как shutil.rmtree(path) был выполнен и удален, и, таким образом, был завершен перед фактическим удалением папки (но все равно удаляетсодержание этого).И если я поменяю местами порядок строк, я получу OSError.Любая идея?

Редактировать: Что происходит со сценарием, когда я удаляю его в середине выполнения?

Системная информация: Windows 10, Python 3.7

1 Ответ

0 голосов
/ 02 марта 2019

Невозможно удалить всю папку, в которой находится сценарий, без удаления сценария или его перемещения (не делайте этого). Вместо этого следует оставить сценарий в / bin, а затем предоставить параметры командной строки для папки.Вы хотите удалить.

Почему вам НУЖНО, чтобы скрипт находился там?Единственный другой вариант, о котором я могу подумать - это удалить все содержимое.Ответьте на этот вопрос, и я внесу поправку в ответ для дальнейшей помощи

...