Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 24, 2023 01:33:14

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

закрыть прилежение

как закрыть все приложение из подключенного модуля
все перепробовал
quin, exit, sys.exit, os.exit, модуль не видит основного скрипта

Офлайн

#2 Янв. 24, 2023 02:07:41

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

закрыть прилежение

Вызови исключение через raise. А обработай это исключение в самом главном скрипте. И там же сделаешь sys.exit(), когда это исключение получишь.



Офлайн

#3 Янв. 24, 2023 02:44:46

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

закрыть прилежение

хорошо пославлю вопрос так
как из консоли выловить ‘System exit’ в основном скрипте и сделать os.exit?

Вызови исключение через raise. А обработай это исключение в самом главном скрипте. И там же сделаешь sys.exit(), когда это исключение получишь.
сори это я непонимаю, это уже продвинутое программирование

Отредактировано Genabox (Янв. 24, 2023 03:32:41)

Офлайн

#4 Янв. 25, 2023 03:39:35

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

закрыть прилежение

general script

 import sys, traceback
def goout():
    try:
        raise Exception()
    except:
        traceback.print_exc()
        sys.exit(3)

модуль
 from startbot import goout
    while True:  # The event loop  
        menu_item = tray.Read()  
        print(menu_item)  
        if menu_item == 'Exit':
            startbot.goout()

Traceback (most recent call last):
File “d:\discord\startbot.py”, line 5, in <module>
from package.tray.traymenu import systemtraybar
File “d:\discord\package\tray\traymenu.py”, line 15, in <module>
from startbot import goout
File “C:\Users\Gena\.virtualenvs\discord-q4ERoUCO\Lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py”, line 142, in _import
return original_import(name, *args, **kwargs)
File “d:\discord\startbot.py”, line 5, in <module>
from package.tray.traymenu import systemtraybar
ImportError: cannot import name ‘systemtraybar’ from partially initialized module ‘package.tray.traymenu’ (most likely due to a circular import) (d:\discord\package\tray\traymenu.py)
должно работать но пишет due to a circular import

вопрос как правильно вызвать эту функцию goout() в главном скрипте из модуля?

Отредактировано Genabox (Янв. 25, 2023 03:44:26)

Офлайн

#5 Янв. 25, 2023 21:11:10

Genabox
Зарегистрирован: 2022-12-24
Сообщения: 198
Репутация: +  1  -
Профиль   Отправить e-mail  

закрыть прилежение

#### R E S H E N O ####

 def goout():
    path = (__file__)
    path = path[:-11] + 'exit.exe'
    os.startfile(path)

exe c++ >>>>>>>>>>
#include <windows.h>
#include <process.h>
#include <Tlhelp32.h>
#include <winbase.h>
#include <string.h>
void killProcessByName(const char *filename)
{
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize = sizeof (pEntry);
BOOL hRes = Process32First(hSnapShot, &pEntry);
while (hRes)
{
if (strcmp(pEntry.szExeFile, filename) == 0)
{
HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0,
(DWORD) pEntry.th32ProcessID);
if (hProcess != NULL)
{
TerminateProcess(hProcess, 9);
CloseHandle(hProcess);
}
}
hRes = Process32Next(hSnapShot, &pEntry);
}
CloseHandle(hSnapShot);
}
int main()
{
killProcessByName(“notepad++.exe”);
return 0;
}

аминь.

Отредактировано Genabox (Янв. 25, 2023 22:35:30)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version