요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 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
60730
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 60730 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
91260
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 91260 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
205583
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 205583 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
253858
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 253858 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1243785
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1243785 -14
유틸
조이플 오류 및 패치 + 유틸
yeppi
03/04
12024
34
조이플 오류 및 패치 + 유틸
유틸
yeppi
03/04 12024 34
유틸
야식메뉴판 Plus 만들어왔음 - 게임 방주 관리 데스크톱 앱
qqoro
03/04
15059
77
야식메뉴판 Plus 만들어왔음 - 게임 방주 관리 데스크톱 앱
유틸
qqoro
03/04 15059 77
유틸
이터넘 0.9 옛날 버전 브금 모드
외않되
03/04
3855
5
이터넘 0.9 옛날 버전 브금 모드
유틸
외않되
03/04 3855 5
유틸
RJ01389782 비밀 노출 마나카 커스텀 미션 번역2
ㅇㅇ
03/03
14264
18
RJ01389782 비밀 노출 마나카 커스텀 미션 번역2
유틸
ㅇㅇ
03/03 14264 18
유틸
렌파이 전용 언락커 ( 갤러리 언락가능 )
하이바라
03/03
5047
12
렌파이 전용 언락커 ( 갤러리 언락가능 )
유틸
하이바라
03/03 5047 12
유틸
ai번역)RJ01389782 비밀 노출 마나카 모드와 미션 여러 가지
kkkktrrr
03/02
16621
45
ai번역)RJ01389782 비밀 노출 마나카 모드와 미션 여러 가지
유틸
kkkktrrr
03/02 16621 45
유틸
지난번에 만든 (케모노,히토미,X,유튜브 등등 downloader gallery-dl, yt-dlp 활용) 다운로더 GUI 버전으로 만들어봄
noname
03/01
15983
56
지난번에 만든 (케모노,히토미,X,유튜브 등등 downloader gallery-dl, yt-dlp 활용) 다운로더 GUI 버전으로 만들어봄
유틸
noname
03/01 15983 56
유틸
하츠네 미쿠 (코이카츠) 프리셋 공유
pst0025
02/28
13744
32
하츠네 미쿠 (코이카츠) 프리셋 공유
유틸
pst0025
02/28 13744 32
유틸
유니티 클뜯 assetstudio 후속 animestudio
xcandle
02/28
8745
19
유니티 클뜯 assetstudio 후속 animestudio
유틸
xcandle
02/28 8745 19
유틸
Sizer.7z
ㅇㅇ
02/27
8194
13
Sizer.7z
유틸
ㅇㅇ
02/27 8194 13
유틸
RJ01279319 네토라레 히로인 백설 1.1 백로그등 편의성 개조 파일(패치파일만)
apelzl011
02/25
6784
13
RJ01279319 네토라레 히로인 백설 1.1 백로그등 편의성 개조 파일(패치파일만)
유틸
apelzl011
02/25 6784 13
유틸
Digital Contents Library Tool 1.1.7.2 (구 DLsite 퀵 뷰어)
ll-lllllllll
02/24
92335
70
Digital Contents Library Tool 1.1.7.2 (구 DLsite 퀵 뷰어)
유틸
ll-lllllllll
02/24 92335 70
유틸
시니시스타2 1.2.1 폭유 모드
무슨소리니
02/24
19105
39
시니시스타2 1.2.1 폭유 모드
유틸
무슨소리니
02/24 19105 39
유틸
어떤 여자 상사의 비밀 마사지 가게 ver.1.0.6 DRM 해제 실행파일
미스터장
02/23
10021
11
어떤 여자 상사의 비밀 마사지 가게 ver.1.0.6 DRM 해제 실행파일
유틸
미스터장
02/23 10021 11
유틸
감금된 채 딥키스 여성주도~페라 포함~ 노모패치만
미스터장
02/23
7529
6
감금된 채 딥키스 여성주도~페라 포함~ 노모패치만
유틸
미스터장
02/23 7529 6
유틸
MZ 엔진 index 치트 유틸
전적노트
02/22
7436
4
MZ 엔진 index 치트 유틸
유틸
전적노트
02/22 7436 4
유틸
[MySonar] 소수를 위한 오디오 플레이어
hustlyn
02/22
16965
77
[MySonar] 소수를 위한 오디오 플레이어
유틸
hustlyn
02/22 16965 77
유틸
RJ01389782 비밀 노출 마나카 커스텀 미션 번역
ㅇㅇ
02/21
13165
25
RJ01389782 비밀 노출 마나카 커스텀 미션 번역
유틸
ㅇㅇ
02/21 13165 25
유틸
마메32 신버전
a123456789
02/21
40128
191
마메32 신버전
유틸
a123456789
02/21 40128 191
유틸
RJ 미리보기 서포트 (Tempermonkey 기반)
sss-com
02/21
7920
14
RJ 미리보기 서포트 (Tempermonkey 기반)
유틸
sss-com
02/21 7920 14
유틸
복호화 밑 품번 링크 생성기 사이트
vOwOv
02/20
9263
11
복호화 밑 품번 링크 생성기 사이트
유틸
vOwOv
02/20 9263 11
유틸
nursecall 치트
nekoplug
02/20
6936
5
nursecall 치트
유틸
nekoplug
02/20 6936 5
유틸
26.04.18, 90일, 자동 줄바꿈) RJ01540816 ver.1.0.0 js (2).7z
ㅇㅇ
02/19
22591
13
26.04.18, 90일, 자동 줄바꿈) RJ01540816 ver.1.0.0 js (2).7z
유틸
ㅇㅇ
02/19 22591 13
유틸
RJ01438167 여동생과 함께살자 노모 Bepinex 파일
joaja
02/18
16066
24
RJ01438167 여동생과 함께살자 노모 Bepinex 파일
유틸
joaja
02/18 16066 24
유틸
시니시스타2 1.2.1 Slit(가터벨트) 아웃핏 노모 모드
tongpa
02/18
17602
12
시니시스타2 1.2.1 Slit(가터벨트) 아웃핏 노모 모드
유틸
tongpa
02/18 17602 12
유틸
수정 Agent17 0.26.6 cheat mod 버전+ 안티치트,추가치트
a123456789
02/17
15439
10
수정 Agent17 0.26.6 cheat mod 버전+ 안티치트,추가치트
유틸
a123456789
02/17 15439 10
유틸
GameDB 2
심심한개발자
02/17
13943
8
GameDB 2
유틸
심심한개발자
02/17 13943 8
유틸
Agent17 겨울동화 삽 강화 버그 픽스
AKGH
02/17
16442
13
Agent17 겨울동화 삽 강화 버그 픽스
유틸
AKGH
02/17 16442 13
유틸
[후타]pernio의 후타나리 시리즈 노모패치 모음
레가토
02/17
11860
12
[후타]pernio의 후타나리 시리즈 노모패치 모음
유틸
레가토
02/17 11860 12
유틸
렌파이 공용 치트엔진+agent17 치트 쓰는 법
high-hope
02/16
27403
38
렌파이 공용 치트엔진+agent17 치트 쓰는 법
유틸
high-hope
02/16 27403 38
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43