요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 gpt로 프로그램 짜봤는데 생각보다 유용한것 같아서 평소에 받은 은혜를 갚아보기 위해서 올려봄.
세줄요약 있음
실행하면 이런 화면이고, 여기서 방주 주소 추가랑 제거 가능함.
코드
import os
import random
import tkinter as tk
from tkinter import filedialog, messagebox, Listbox, Scrollbar, END, SINGLE
import subprocess
import json
import webbrowser
import re
CONFIG_FILE = "folder_config.json"
ARCHIVE_EXTENSIONS = ('.zip', '.7z', '.rar', '.egg')
class ArchiveFileSelectorApp:
def __init__(self, root):
self.root = root
self.root.title("랜덤 압축 파일 선택기")
self.folder_list = []
# Load saved folders
self.load_folder_list()
# Frame for folder list and scrollbar
list_frame = tk.Frame(root)
list_frame.pack(padx=10, pady=10)
self.folder_listbox = Listbox(list_frame, selectmode=SINGLE, width=60)
self.folder_listbox.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
scrollbar = Scrollbar(list_frame, orient="vertical")
scrollbar.config(command=self.folder_listbox.yview)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
self.folder_listbox.config(yscrollcommand=scrollbar.set)
# Populate listbox
for folder in self.folder_list:
self.folder_listbox.insert(END, folder)
# Frame for buttons
button_frame = tk.Frame(root)
button_frame.pack(padx=10, pady=10)
self.add_button = tk.Button(button_frame, text="폴더 추가", command=self.add_folder)
self.add_button.grid(row=0, column=0, padx=5)
self.remove_button = tk.Button(button_frame, text="선택한 폴더 제거", command=self.remove_selected_folder)
self.remove_button.grid(row=0, column=1, padx=5)
self.open_button = tk.Button(button_frame, text="랜덤 압축 파일 열기", command=self.open_random_archive)
self.open_button.grid(row=0, column=2, padx=5)
# Save folders on close
self.root.protocol("WM_DELETE_WINDOW", self.on_close)
def add_folder(self):
folder = filedialog.askdirectory(title="추가할 폴더 선택")
if folder and folder not in self.folder_list:
self.folder_list.append(folder)
self.folder_listbox.insert(END, folder)
def remove_selected_folder(self):
selected = self.folder_listbox.curselection()
if selected:
index = selected[0]
self.folder_listbox.delete(index)
del self.folder_list[index]
def open_random_archive(self):
archive_files = []
for folder in self.folder_list:
for dirpath, _, filenames in os.walk(folder):
for filename in filenames:
if filename.lower().endswith(ARCHIVE_EXTENSIONS):
full_path = os.path.abspath(os.path.join(dirpath, filename))
archive_files.append(full_path)
if archive_files:
selected_file = random.choice(archive_files)
subprocess.run(f'explorer /select,"{selected_file}"', shell=True)
# Check for RJ or VJ code in filename
filename = os.path.basename(selected_file)
match = re.search(r'(RJ|VJ)(\d+)', filename, re.IGNORECASE)
if match:
code = match.group(0).upper()
prefix = code[:2]
if prefix == 'RJ':
url = f'https://www.dlsite.com/maniax/work/=/product_id/{code}.html'
elif prefix == 'VJ':
url = f'https://www.dlsite.com/pro/work/=/product_id/{code}.html'
webbrowser.open(url)
else:
messagebox.showinfo("알림", "선택된 폴더들에서 압축 파일(.zip, .7z, .rar, .egg)을 찾을 수 없습니다.")
def load_folder_list(self):
if os.path.exists(CONFIG_FILE):
try:
with open(CONFIG_FILE, 'r', encoding='utf-8') as f:
self.folder_list = json.load(f)
except Exception as e:
print(f"폴더 목록 로드 실패: {e}")
self.folder_list = []
def save_folder_list(self):
try:
with open(CONFIG_FILE, 'w', encoding='utf-8') as f:
json.dump(self.folder_list, f, ensure_ascii=False, indent=2)
except Exception as e:
print(f"폴더 목록 저장 실패: {e}")
def on_close(self):
self.save_folder_list()
self.root.destroy()
# Run the app
if __name__ == "__main__":
root = tk.Tk()
app = ArchiveFileSelectorApp(root)
root.mainloop()
기능
다중 폴더 선택 가능
지정 폴더 내의 하위 폴더에서도 압축파일 검색 가능
지금 .zip .7z .rar .egg 파일 검색 됨
파일명에 RJ나 VJ 있으면 컴터 기본 브라우저로 DL링크 열어줌
*코드 수정해서 쓸사람은 알아서 수정해 gpt 코딩 잘하더라
젤다
https://kio.ac/c/cwMCZA5AmJQ_b36cgd45Cb
세줄요약
방주 양이 감당이 안되서 랜덤 선택기 만듦
쓸사람 써라
복구 항상 고맙다
13
공지
AI 이미지 관련 공지 및 관련 규정 수정 공지
1uF
05/02
60708
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 60708 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
91178
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 91178 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
205466
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 205466 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
253814
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 253814 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1243763
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1243763 -14
일반
마도사 카나데의 후타나리 던전 퀘스트 노모도있고 한글패치도있는데
momoko
05/27
482
0
마도사 카나데의 후타나리 던전 퀘스트 노모도있고 한글패치도있는데
일반
momoko
05/27 482 0
번역
[손번역] 대리 업로드 Desert Stalker v0.20.3.1
두파루파
05/27
4563
39
[손번역] 대리 업로드 Desert Stalker v0.20.3.1
번역
두파루파
05/27 4563 39
일반
로리메시아) 아니 죽음의 계곡 ㄹㅇ 죽음의 계곡인데?
qqqqq
05/27
915
1
로리메시아) 아니 죽음의 계곡 ㄹㅇ 죽음의 계곡인데?
일반
qqqqq
05/27 915 1
동인
구매보급)【한국어판】심술궂은 진성S 메이드의 콧대를 꺾어 주고 싶은 아가씨의 이야기
GOOD
05/27
2392
9
구매보급)【한국어판】심술궂은 진성S 메이드의 콧대를 꺾어 주고 싶은 아가씨의 이야기
동인
GOOD
05/27 2392 9
질문
이거 뭔게임인줄 아는사람..?
setwdhg125363
05/27
1739
-4
이거 뭔게임인줄 아는사람..?
질문
setwdhg125363
05/27 1739 -4
일반
하램
에로탐구가
05/27
949
0
하램
일반
에로탐구가
05/27 949 0
질문
스타메이커 스토리 루트 질문좀
qoqons
05/27
987
0
스타메이커 스토리 루트 질문좀
질문
qoqons
05/27 987 0
요청
[스팀/렌파이][복구 요청] A Promise Best Left Unkept Aya Edition v1.0
tralaola
05/27
1131
0
[스팀/렌파이][복구 요청] A Promise Best Left Unkept Aya Edition v1.0
요청
tralaola
05/27 1131 0
후기 및 공략
교칙은 절대적 팁
lostarkfinder892
05/27
960
3
교칙은 절대적 팁
후기 및 공략
lostarkfinder892
05/27 960 3
복구
90일) RJ111049 Prison Fantasia v1.2.7z
ㅇㅇ
05/27
2122
15
90일) RJ111049 Prison Fantasia v1.2.7z
복구
ㅇㅇ
05/27 2122 15
질문
카린 형무소 카운터질문드립니다
gooddaytodie
05/27
955
0
카린 형무소 카운터질문드립니다
질문
gooddaytodie
05/27 955 0
후기 및 공략
JJJJJ가 쓰는 카린형무소 후기
gooddaytodie
05/27
1272
2
JJJJJ가 쓰는 카린형무소 후기
후기 및 공략
gooddaytodie
05/27 1272 2
요청
[복구요청] (청아) (RJ286597) 행방불명의 제물
lustblood
05/27
1077
1
[복구요청] (청아) (RJ286597) 행방불명의 제물
요청
lustblood
05/27 1077 1
번역
[구매보급] [자체번역] RJ01120129 로큰롤라이즈 (스캇/방뇨/료나/하드? ) 스캇은 선택지있음
TSN
05/27
3841
21
[구매보급] [자체번역] RJ01120129 로큰롤라이즈 (스캇/방뇨/료나/하드? ) 스캇은 선택지있음
번역
TSN
05/27 3841 21
일반
다들 야겜할때 버릇같은거 있음?
guguki
05/27
1577
0
다들 야겜할때 버릇같은거 있음?
일반
guguki
05/27 1577 0
일반
요즘 야겜판은 점점 빵ㅋㅋ해지는구나
tommy5801
05/27
1512
1
요즘 야겜판은 점점 빵ㅋㅋ해지는구나
일반
tommy5801
05/27 1512 1
요청
(복구 요청)【한국어 자막판】 마조히스트를 위한 망상 사정 조교
yeouhayan
05/27
1475
1
(복구 요청)【한국어 자막판】 마조히스트를 위한 망상 사정 조교
요청
yeouhayan
05/27 1475 1
요청
[복구요청] 네토라레 나이트메어
dk041633
05/27
1310
0
[복구요청] 네토라레 나이트메어
요청
dk041633
05/27 1310 0
일반
아이....뭔데 이 색깔놀이는
ascorona
05/27
1317
3
아이....뭔데 이 색깔놀이는
일반
ascorona
05/27 1317 3
요청
(복구요청) 갈색폭유x포동포동숙녀장
lollp
05/27
899
0
(복구요청) 갈색폭유x포동포동숙녀장
요청
lollp
05/27 899 0
요청
[복구 요청] RJ095489 마검사 리네 1편
retanya
05/27
925
2
[복구 요청] RJ095489 마검사 리네 1편
요청
retanya
05/27 925 2
질문
그.. 혹시 여기 야짤탭에
dpdldkdlrlqn
05/27
1194
-1
그.. 혹시 여기 야짤탭에
질문
dpdldkdlrlqn
05/27 1194 -1
요청
[복구 요청] RJ111049 프리즌 판타지아 ~망국의 성기사~
xissi
05/27
1559
2
[복구 요청] RJ111049 프리즌 판타지아 ~망국의 성기사~
요청
xissi
05/27 1559 2
후기 및 공략
이터넘 다 좋은데 딱 하나 아쉬운점
dfgtewkwg
05/27
1416
4
이터넘 다 좋은데 딱 하나 아쉬운점
후기 및 공략
dfgtewkwg
05/27 1416 4
요청
[복구요청] LIFE OF BITCH
mnono
05/27
1274
1
[복구요청] LIFE OF BITCH
요청
mnono
05/27 1274 1
복구
[요청복구][VJ01002280]당신과 그녀와 그녀의 사랑
vhskorea
05/27
1733
5
[요청복구][VJ01002280]당신과 그녀와 그녀의 사랑
복구
vhskorea
05/27 1733 5
미번
[구매보급][버전업]RJ01626482공주 기사 엘레나 - 음욕의 던전에 사로잡혀 -
warpra
05/27
2905
9
[구매보급][버전업]RJ01626482공주 기사 엘레나 - 음욕의 던전에 사로잡혀 -
미번
warpra
05/27 2905 9
질문
셀레스포니아 Maple 모드 실행 질문
coolsudar
05/27
1355
0
셀레스포니아 Maple 모드 실행 질문
질문
coolsudar
05/27 1355 0
복구
[요청복구]RJ111240 사실은 에로했던 동화~빨간망토~
vhskorea
05/27
2247
9
[요청복구]RJ111240 사실은 에로했던 동화~빨간망토~
복구
vhskorea
05/27 2247 9
질문
에로검열관 회상 전개방 한사람있음?
llllee1
05/27
851
0
에로검열관 회상 전개방 한사람있음?
질문
llllee1
05/27 851 0
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43