파이썬에서 콘솔 창을 숨기는 방법은 무엇인가요?

Python으로 IRC 봇을 작성하고 있습니다.

리눅스와 윈도우용 독립 실행형 바이너리를 만들고 싶습니다. 그리고 주로 봇이 시작될 때 콘솔 창이 숨겨지고 사용자가 창을 볼 수 없기를 바랍니다.

이를 위해 무엇을 할 수 있나요?

질문에 대한 의견 (1)

확장자를 '.pyw'로 저장하기만 하면 됩니다. 이렇게 하면 콘솔 창이 열리지 않습니다.

Windows 시스템에는 "실행 모드"라는 개념이 없습니다. 파이썬 인스톨러는 .py 파일을 자동으로 python.exe와 연결하여 파이썬 파일을 더블클릭하면 스크립트로 실행되도록 합니다. 확장자는 .pyw일 수도 있으며, 이 경우 일반적으로 표시되는 콘솔 창이 표시되지 않습니다.

2.2.2 섹션 하단 설명

해설 (2)

Linux에서는 그냥 실행하면 됩니다. Windows에서는 pythonw 실행 파일을 사용해야 합니다.

Update

댓글의 질문을 이해했다면 명령줄에서 봇을 시작한 명령 창을 나중에 사라지게 만드는 방법을 묻는 건가요?

  • UNIX (Linux)

$ nohup mypythonprog &

  • Windows

C:/> start pythonw mypythonprog

맞는 것 같습니다. 어쨌든 이제 터미널을 닫을 수 있습니다.

해설 (8)

유닉스 시스템(Linux, macOS, BSD 포함)에서 ##

nohup mypythonprog &를 사용하면 프로세스를 중단하지 않고 터미널 창을 닫을 수 있습니다. 클라우드에서 실행 중이고 중단된 셸 프로세스를 남기고 싶지 않은 경우exit`를 실행할 수도 있습니다.

Windows 시스템에서

확장자가 .pyw인 프로그램을 저장하면 이제 pythonw.exe로 열립니다. 셸 창이 없습니다.

예를 들어, foo.py가 있다면 foo.pyw로 이름을 바꿔야 합니다.

해설 (0)

All you want to do 는 파이썬 스크립트를 운영할 경우 windows 컴퓨터에 설치되어 있는 변환 & # 39 의 파이썬 인터프리터 alphastor 저장된 스크립트입니다 .py& # 39;; # 39, & # 39 를 .pyw&. 이 어떻게해야합니다 의심하게 된다.

39 를 사용하여, re 신앙이니라 you& 변환할지 py2exe 너회의 스크립트입니다 독립 응용 프로그램을 실행할 것이라고 모든 windows 시스템에 데이터베이스에구성원을 & # 39 다음과 같은 변경을 해야 합니다, setup.py & # 39. 절실해졌습니다.

다음 예제는 사용하여 만든 단순 파이썬 gui 트킨터:

from distutils.core import setup
import py2exe
setup (console = ['tkinter_example.pyw'],
       options = { 'py2exe' : {'packages':['Tkinter']}})

&Quot 변경하십시오 console"; 위의 코드에서 위해 windows&quot ";).

from distutils.core import setup
import py2exe
setup (windows = ['tkinter_example.pyw'],
       options = { 'py2exe' : {'packages':['Tkinter']}})

이렇게 하면 전용 GUI 및 콘솔 창 트킨터 열어보려면 생성할지 없습니다.

해설 (3)

이렇게 하면 hide your 콘솔이군요. 이 코드에서 콘솔이 숨기기 위해 처음에는 구현하십시오 흐름선 첫 시작.

import win32gui, win32con

The_program_to_hide = win32gui.GetForegroundWindow()
win32gui.ShowWindow(The_program_to_hide , win32con.SW_HIDE)
해설 (6)

일부 추가 정보. # 39, ll 필요한 경우 that& win32gui 솔루션이므로 모센 하다디 앞서 올린 이 스레드할:

파이썬 361, win32gui vmware. &amp. win32con 속하지 않는 파이썬 표준 라이브러리. 이를 사용할 수 있습니다, pywin32 패키지를 설치해야 합니다. 등을 통해 수 있게 됐다.

더 많은 정보는 pywin32 패키지는 http://support. 배경 https://stackoverflow.com/questions/6624672/how-to-use-the-win32gui-module-with-python.

또한 동시에 적용하십시오 판단에 따라 창 닫기 때문에 실수로 모든 창을 포그라운드로 닫으십시오 할 때, 결의안은 다음과 같은 계열에 따라 연장될 수도 있다.

try     :

    import win32gui, win32con;

    frgrnd_wndw = win32gui.GetForegroundWindow();
    wndw_title  = win32gui.GetWindowText(frgrnd_wndw);
    if wndw_title.endswith("python.exe"):
        win32gui.ShowWindow(frgrnd_wndw, win32con.SW_HIDE);
    #endif
except  :
    pass
해설 (4)