Я пытаюсь научиться самостоятельно писать код на python, но столкнулся с проблемой.
Я использую модуль подпроцесса python для выполнения файла .bat, но процесс застревает в файле bat. Код Python в настоящее время выглядит так:
import getpass
username = getpass.getuser()
from subprocess import Popen
p = Popen("hidefolder.bat", cwd=r"C:\Users\%s\Desktop" % username)
stdout, stderr = p.communicate()
import sys
sys.exit()
И файл .bat выглядит так:
if exist "C:\Users\%username%\Desktop\HiddenFolder\" (
attrib -s -h "HiddenFolder"
rename "HiddenFolder" "Projects"
exit
)
if exist "C:\Users\%username%\Desktop\Projects\" (
rename "Projects" "HiddenFolder"
attrib +s +h "HiddenFolder"
exit
)
if not exist "C:\Users\%username%\Desktop\HiddenFolder\" (
mkdir "C:\Users\%username%\Desktop\HiddenFolder\"
)
exit
Есть ли способ убить дочерний процесс, даже если скрипт python ожидает завершения дочернего процесса, прежде чем продолжить? Или проблема в дочернем процессе для начала?
Заранее спасибо.