Как правильно закрыть экземпляр проводника через код Python 3?
Написал программу для личных нужд, код привел ниже, не могу взять в толк, каким образом убить процесс проводника если все проводники в Windows 7 с одним именем, можно было бы передать значение запуска проводника в переменную, и затем, как мне подсказывали ранее на этом сайте, через эту переменную и вычислить нужный процесс, выглядит это так D = subprocess.Popen("explorer.exe D:"),D.kill(), но дело в том, что на момент когда необходимо использовать kill(), переменная D еще не объявлена, или уже не объявлена, каким образом реализовать задуманное, с минимальными изменениями кода приведенного ниже?
import subprocess
import webbrowser
import time
import os
print('| Здравствуйте, вы решили поработать или закончили с делами? |')
# Проверка на правильность ввода данных, и реализация выбора пользователя
while True:
Choice = input('| Закончить с делами [2] |\
\n| Поработать [1] |\n| Ввод: ')
print('\n')
if Choice.isnumeric():
Choice = int(Choice)
break
else:
print('Пожалуйста введите номер варианта!')
continue
# Список путей к программам, которые надо открыть
Opening1 = ['D:\\Program\\ShareX\\ShareX.exe',\
'D:\\Miscellanea\\Programmig\\Programming-Python\\Книги\\Укус_Питона.pdf', \
'D:\\Program\\Notepad++\\notepad++.exe']
# Список адресов сайтов, которые надо открыть
Opening2 = ['https://ru.stackoverflow.com/',\
'https://translate.google.com/?hl=ru&sl=en&tl=ru&text=%0A&op=translate',\
'https://yandex.ru/search/?text=Python%203%20&lr=973&clid=1923018']
# Список процессов, которые необходимо завершить
Closing = ['ShareX.exe', 'PDFXCview.exe', 'notepad++.exe',]
def explorer():
D = subprocess.Popen("explorer.exe D:")
# Выбор пользователя №1
if Choice == 1:
# Открытие всех нужных сайтов
for two in Opening2:
webbrowser.open(two, 2)
time.sleep(0.5)
# Открытие проводника
explorer()
time.sleep(0.5)
# Открытие всех нужных программ (кроме одной)
for one in Opening1:
subprocess.Popen(('start', one,),shell = True)
time.sleep(0.5)
# Выбор пользователя №2
elif Choice == 2:
# Закрытие проводника
D.kill()
for Three in Closing:
os.system('taskkill /pid Three')
# Закрытие программы
break