오늘은 내 컴퓨터의 정보들을 확인해 주는 프로그램을 만들어보겠습니다. 흔히들 내 컴퓨터는 메인보드이름이 뭐지? 메모리는 몇 기가고 어떤 메모리이지? 뜯어볼까? 어떻게 하지 하는 경우들이 있을 겁니다. 물론 그것을 편리하게 해주는 프로그램도 있죠. 그래서 손쉽게 컴퓨터 정보를 알아볼 수 있는 프로그램을 만들어 보겠습니다.
프롬프트
내컴퓨터의 정보를 확인하는 프로그램을 만들고 싶어. 알고 싶은 내용은 cpu정보,메모리정보,그래픽카드정보,메인보드정보를 탭형태로 작성해서 보여주고 각 탭에서는 세부항목을 간결하고 보기좋게 표현해줬으면 좋겠어
ChatGPT 결과
이제 이 프로그램을 실행하면 CPU, 메모리, GPU, 메인보드 정보를 각각의 탭에서 확인할 수 있습니다. GPUtil과 wmi 라이브러리가 필요하므로, 실행 전 다음 명령어로 설치하세요:
이쁘게 스타일을 추가하고 싶다면 ttk.Style()을 활용하면 됩니다. 추가적인 개선이 필요하면 알려주세요! 😊
코드
import tkinter as tk
from tkinter import ttk
import platform
import psutil
import GPUtil
import wmi
def get_cpu_info():
cpu_info = platform.processor()
cores = psutil.cpu_count(logical=False)
threads = psutil.cpu_count(logical=True)
return f"CPU: {cpu_info}\n코어 수: {cores}\n쓰레드 수: {threads}"
def get_memory_info():
mem = psutil.virtual_memory()
return f"총 메모리: {mem.total / (1024 ** 3):.2f} GB\n사용 가능 메모리: {mem.available / (1024 ** 3):.2f} GB"
def get_gpu_info():
gpus = GPUtil.getGPUs()
if not gpus:
return "GPU 정보를 가져올 수 없습니다."
gpu_info = ""
for gpu in gpus:
gpu_info += f"GPU: {gpu.name}\n메모리: {gpu.memoryTotal} MB\n온도: {gpu.temperature}°C\n"
return gpu_info
def get_motherboard_info():
c = wmi.WMI()
for board in c.Win32_BaseBoard():
return f"메인보드: {board.Manufacturer} {board.Product}"
return "메인보드 정보를 가져올 수 없습니다."
# GUI 설정
root = tk.Tk()
root.title("내 컴퓨터 정보")
root.geometry("400x300")
notebook = ttk.Notebook(root)
notebook.pack(expand=True, fill='both')
# CPU 정보 탭
cpu_frame = ttk.Frame(notebook)
cpu_label = tk.Label(cpu_frame, text=get_cpu_info(), justify='left')
cpu_label.pack(padx=10, pady=10)
notebook.add(cpu_frame, text="CPU 정보")
# 메모리 정보 탭
memory_frame = ttk.Frame(notebook)
memory_label = tk.Label(memory_frame, text=get_memory_info(), justify='left')
memory_label.pack(padx=10, pady=10)
notebook.add(memory_frame, text="메모리 정보")
# GPU 정보 탭
gpu_frame = ttk.Frame(notebook)
gpu_label = tk.Label(gpu_frame, text=get_gpu_info(), justify='left')
gpu_label.pack(padx=10, pady=10)
notebook.add(gpu_frame, text="GPU 정보")
# 메인보드 정보 탭
motherboard_frame = ttk.Frame(notebook)
motherboard_label = tk.Label(motherboard_frame, text=get_motherboard_info(), justify='left')
motherboard_label.pack(padx=10, pady=10)
notebook.add(motherboard_frame, text="메인보드 정보")
root.mainloop()
결과
우선 설명해준대로 인스톨을 해줍니다.
C:\Users\qwe\pythonPG>pip install psutil GPUtil wmi

이제 얼마나 이쁘고 세세한 정보를 보여줄지 궁금합니다. 자 보시죠.

음 마음에 조금 안들고 GPU는 가져올 수 없다고 나오네요 좀 더 변경해야겠습니다.
고도화 프롬프트
각 탭의 정보는 테이블형태로 보여줬으면하고 CPU 정보에는 네임,패키지,스팩션 현재코어스피드, 코어수, 쓰레드수 로 상세히 보여주고 GPU정보는 제거하고 그래픽정보로 변경해줘. 나머지 탭도 좀더 보여줄수 있는 정보를 보기좋게 분할해서 보여줘
고도화 코드
import tkinter as tk
from tkinter import ttk
import platform
import psutil
import wmi
def get_cpu_info():
c = wmi.WMI()
cpu = c.Win32_Processor()[0]
return [
("이름", cpu.Name),
("패키지", cpu.NumberOfCores),
("스펙션", cpu.Manufacturer),
("현재 코어 속도", f"{cpu.CurrentClockSpeed} MHz"),
("코어 수", cpu.NumberOfCores),
("쓰레드 수", psutil.cpu_count(logical=True))
]
def get_memory_info():
mem = psutil.virtual_memory()
return [
("총 메모리", f"{mem.total / (1024 ** 3):.2f} GB"),
("사용 가능 메모리", f"{mem.available / (1024 ** 3):.2f} GB"),
("사용 중 메모리", f"{mem.used / (1024 ** 3):.2f} GB"),
("메모리 사용률", f"{mem.percent}%")
]
def get_graphics_info():
c = wmi.WMI()
gpus = c.Win32_VideoController()
info = []
for gpu in gpus:
info.append(("이름", gpu.Name))
info.append(("메모리", f"{int(gpu.AdapterRAM / (1024 ** 2))} MB"))
info.append(("드라이버 버전", gpu.DriverVersion))
return info
def get_motherboard_info():
c = wmi.WMI()
board = c.Win32_BaseBoard()[0]
return [
("제조사", board.Manufacturer),
("제품명", board.Product),
("버전", board.Version)
]
def create_table(frame, data):
for i, (key, value) in enumerate(data):
ttk.Label(frame, text=key, width=20, anchor="w", relief="ridge").grid(row=i, column=0, padx=5, pady=2)
ttk.Label(frame, text=value, width=40, anchor="w", relief="ridge").grid(row=i, column=1, padx=5, pady=2)
root = tk.Tk()
root.title("내 컴퓨터 정보")
root.geometry("500x400")
notebook = ttk.Notebook(root)
notebook.pack(expand=True, fill='both')
# CPU 정보 탭
cpu_frame = ttk.Frame(notebook)
create_table(cpu_frame, get_cpu_info())
notebook.add(cpu_frame, text="CPU 정보")
# 메모리 정보 탭
memory_frame = ttk.Frame(notebook)
create_table(memory_frame, get_memory_info())
notebook.add(memory_frame, text="메모리 정보")
# 그래픽 정보 탭
graphics_frame = ttk.Frame(notebook)
create_table(graphics_frame, get_graphics_info())
notebook.add(graphics_frame, text="그래픽 정보")
# 메인보드 정보 탭
motherboard_frame = ttk.Frame(notebook)
create_table(motherboard_frame, get_motherboard_info())
notebook.add(motherboard_frame, text="메인보드 정보")
root.mainloop()
고도화 결과




자 훨씬 보기 나아졌습니다. 그리고 정보도 좀더 구체화되었네요.
이제 누가 컴퓨터 사양을 물어봐도 거뜬하게 대답해 줄 수 있는 나만의 프로그램이 만들어졌습니다.
고도화는 하면할 수록 더 좋은 프로그램이 될 것입니다 만 전 어디까지나 프로그램을 만들고 어떤 점을 보완해 가는지를 보여드려 더 좋은 결과를 유도하도록 학습하시는 것을 목표로 하고 있기 때문에 여기까지로 만족하겠습니다.
어떤가요? 정말 만족스럽지 않나요? ^^
그럼 이만 IT아재였습니다.
블로그 인기글
프린터 용지 없음 - 용지 인식 오류 해결 방법
제가 사용하는 프린터는 Samsung C51x Series 레이저 프린터입니다.마침 아이 유치원에 제출할 서류들이 있어 프린트하는 도중첫 번 때 용지 인식이 안 돼 용지트레이를 재결합해 출력했으나잠시 후 다시 용지 인식이 안 되는 현상이 발생했습니다.프린터기 재부팅 및 트레이 탈부착을 다시 시도했으나윈도우 상의 프린터 상태는 Samsung C51x Series - 용지부족으로 인쇄가 안 되는 상태였습니다. 가까스로 찾은 해결방법을 설명드리겠습니다. 1. 탈부착 시도나 재부팅을 진행했을 때 문제가 없으면 일단 문제가 해결됐다고 보고 안된다면 다음단계로 넘어갑니다. 2. 실행창 열기 (윈도우키+R) 혹은 좌측하단 돋보기 란에 실행이라고 입력 후 실행창 열기 3. 열기 (O) : 란에 services.msc..
playwithme.tistory.com
SKT VIP 우주패스 활용하기
부제: 세븐일레븐 30프로 할인받기 및 영화할인 SKT VIP CGV 롯데시네마 두마리 토끼 잡기. 제가 오래된 SKT이용자로서 저만의 VIP PICK을 활용하는 방법을 알려드리겠습니다.전 영화와 할인을 즐기는편인데SKT에 상당한 통신비를 내고 있어서 VIP PICK이라는 꼭 챙겨야 하는 제도가 있다는 걸 알았습니다.전에는 롯데시네마와 제휴해서 롯데시네마를 픽했는데 지금은 사라지고 CGV와 제휴를 맺었나 봅니다.영화관람권 1장 무료 연 3회와 평일/주말 관람권 1+1 연 9회의 혜택을 누릴 수 있습니다.전 근처에 롯데시네마 CGV, 가 공존하는데 전 우주패스 all/life를 선택합니다. 무료 연 3회와4900원 할인 9회를 하면 일 년 내내 혜택이 있습니다.집옆에 세븐일레븐이 있기에 아이 우유를 슈퍼..
playwithme.tistory.com
키움증권 동시 로그인 멀티 접속 방법 (동시접속,멀티로그인)
이번에 집 키움증권 HTS로 미국주식을 거래하다가 이게 웬걸? 메뉴가 불편해서 모바일로 접속하는 순간? 영웅문 Global(HTS)이 동시접속으로 인해 끊기는 것 아닌가... 엇 그럼 둘 다 할 수는 없는 걸까? 이렇게 불편하게도? 사실 난 모바일 MTS에 익숙해져 있다. 그런데 야밤에 미국 ETF를 투자하려다 보니 HTS로 거래하는 일이 종종 발생한다. 1. HTS, MTS는 무엇을 말하는가? 기초적인 내용이지만 알고 넘어가자. HTS란? 홈 트레이딩 시스템(Home trading system) 개인 PC용 트레이딩 시스템이다. 국내는 영웅문 4를 사용하고 해외는 영웅문 글로벌을 사용한다. 영웅문4 다운로드 영웅문 글로벌 다운로드 MTS란? 모바일 트레이딩 시스템(mobile trading system..
playwithme.tistory.com
'IT정보 > AI프로그래밍' 카테고리의 다른 글
텍스트와 음성을 특정언어로 변환해주는 프로그램 만들기 (0) | 2025.03.16 |
---|---|
프린트스크린샷 기능을 단축키로 변경해주는 프로그램 (0) | 2025.03.14 |
QR코드를 만들어주는 프로그램 (0) | 2025.03.14 |
텍스트를 음성으로 음성을 텍스트로 변경하는 프로그램 (0) | 2025.03.13 |
내부 외부 IP 확인하는 프로그램 만들기 (0) | 2025.03.13 |