요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 gpt로 프로그램 짜봤는데 생각보다 유용한것 같아서 평소에 받은 은혜를 갚아보기 위해서 올려봄.
세줄요약 있음
1
실행하면 이런 화면이고, 여기서 방주 주소 추가랑 제거 가능함.
코드
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
61065
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 61065 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
91877
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 91877 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
205830
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 205830 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
254137
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 254137 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1244237
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1244237 -14
질문
던브 안 한 뇌가 던브를 해보려 하는데
단또
05/26
1943
1
던브 안 한 뇌가 던브를 해보려 하는데
질문
단또
05/26 1943 1
질문
키오스크 애드블락 예외 설정해도 광고 뜨는거 원래 그런건가?
teQe42
05/26
1629
0
키오스크 애드블락 예외 설정해도 광고 뜨는거 원래 그런건가?
질문
teQe42
05/26 1629 0
야짤
ㅗㅜㅑ시니시스타 또 신박한 모드 발견
roomonfire
05/26
13007
39
ㅗㅜㅑ시니시스타 또 신박한 모드 발견
야짤
roomonfire
05/26 13007 39
질문
혼욕탕씬 나오는 게임 있나?
satam1212
05/26
2381
0
혼욕탕씬 나오는 게임 있나?
질문
satam1212
05/26 2381 0
질문
마나카 이거 해금한 스킬 어케 씀?
으악아니야
05/26
1067
0
마나카 이거 해금한 스킬 어케 씀?
질문
으악아니야
05/26 1067 0
후기 및 공략
추남&NTR 좋아하는 인간의 후기 겸 게임 추천 받기 (스포)
ptiosdgo
05/26
4459
12
추남&NTR 좋아하는 인간의 후기 겸 게임 추천 받기 (스포)
후기 및 공략
ptiosdgo
05/26 4459 12
일반
태양의 오르골 언제나옴
fjeif2
05/26
1163
0
태양의 오르골 언제나옴
일반
fjeif2
05/26 1163 0
유틸
unholy maiden seed of profanity모드 1.4
leessss25
05/26
2073
13
unholy maiden seed of profanity모드 1.4
유틸
leessss25
05/26 2073 13
일반
게임 심사가 왤케 오래걸리냐
ksw112
05/26
1873
1
게임 심사가 왤케 오래걸리냐
일반
ksw112
05/26 1873 1
질문
존재감 여동생 한달 버티기 퀘 보상 뭔가요?
rice-eating
05/26
1982
0
존재감 여동생 한달 버티기 퀘 보상 뭔가요?
질문
rice-eating
05/26 1982 0
유틸
[복구]섹타듀벨리 모드팩
continuereset
05/26
5099
20
[복구]섹타듀벨리 모드팩
유틸
continuereset
05/26 5099 20
일반
의술사하면서 스토리보며 느낀점
소하
05/26
1261
0
의술사하면서 스토리보며 느낀점
일반
소하
05/26 1261 0
유틸
[그냥복구/본체없음] 배덕의 달콤함에 물든 마나카. 여기서 받은 모드팩
루파조아
05/26
2974
9
[그냥복구/본체없음] 배덕의 달콤함에 물든 마나카. 여기서 받은 모드팩
유틸
루파조아
05/26 2974 9
질문
조이 플레이 쓰는데 어떡합?
abc456
05/26
2112
-2
조이 플레이 쓰는데 어떡합?
질문
abc456
05/26 2112 -2
질문
최근에 아오이짱 겜 재밌게했는데
qwqqqq
05/26
1941
1
최근에 아오이짱 겜 재밌게했는데
질문
qwqqqq
05/26 1941 1
질문
드래곤 콩키스타 < 이 겜 사람간의 임신은 없음?
everywhere
05/26
1998
0
드래곤 콩키스타 < 이 겜 사람간의 임신은 없음?
질문
everywhere
05/26 1998 0
질문
이런게임 있을까요?
mkmkil
05/26
1700
1
이런게임 있을까요?
질문
mkmkil
05/26 1700 1
소리
[요청복구] [한국어자막판] 퇴마관 미야비의 음옥생환보고
9ya
05/26
7623
54
[요청복구] [한국어자막판] 퇴마관 미야비의 음옥생환보고
소리
9ya
05/26 7623 54
동인
[미번/번역요청]우리들! 성교육 위원회 만화판
아돌
05/26
12255
30
[미번/번역요청]우리들! 성교육 위원회 만화판
동인
아돌
05/26 12255 30
질문
마나카 질문 있음
으악아니야
05/26
2061
0
마나카 질문 있음
질문
으악아니야
05/26 2061 0
요청
[복구 요청] RJ01326857 음흉하고 한결같은 깡촌 오라버니와, 예스럽고 병약한 여동생 + Append 1~5
napulnapul
05/26
1711
0
[복구 요청] RJ01326857 음흉하고 한결같은 깡촌 오라버니와, 예스럽고 병약한 여동생 + Append 1~5
요청
napulnapul
05/26 1711 0
질문
게임 제목 좀 찾아주세요
kotori97
05/26
1218
0
게임 제목 좀 찾아주세요
질문
kotori97
05/26 1218 0
일반
포레스티아 공식 한글 설마 2.0인가
tleni
05/26
2627
0
포레스티아 공식 한글 설마 2.0인가
일반
tleni
05/26 2627 0
창작
[단편](약깜놀) 자각몽 섹스로 귀신 제령시도 하는 이야기
깡통기사
05/26
5092
44
[단편](약깜놀) 자각몽 섹스로 귀신 제령시도 하는 이야기
창작
깡통기사
05/26 5092 44
질문
시니시스타2 1.3 리볼의 육벽은 어떻게 부숴요?
powwa
05/26
1260
0
시니시스타2 1.3 리볼의 육벽은 어떻게 부숴요?
질문
powwa
05/26 1260 0
질문
여주가 점점 걸레 되는 게임 있나
carahil
05/26
1825
1
여주가 점점 걸레 되는 게임 있나
질문
carahil
05/26 1825 1
미번
(구매보급,번역요청) 챔버게임 1.1 업데이트
12532748912
05/26
5916
23
(구매보급,번역요청) 챔버게임 1.1 업데이트
미번
12532748912
05/26 5916 23
작업현황
[천재 퇴마사는 촉수요마 따위에 굴하지 않아]개조 진행 중..
dmol2279
05/26
1917
5
[천재 퇴마사는 촉수요마 따위에 굴하지 않아]개조 진행 중..
작업현황
dmol2279
05/26 1917 5
번역
[이미지번역]RJ01354109 에이전트 엘레나 이미지 번역
ommkamb
05/26
33736
139
[이미지번역]RJ01354109 에이전트 엘레나 이미지 번역
번역
ommkamb
05/26 33736 139
정보
어떤 분의 댓글을 위한 작성 글(노모 관련인데 머리 아퍼지니 보시는 거 비추드림)
지나가던허접a
05/26
2633
11
어떤 분의 댓글을 위한 작성 글(노모 관련인데 머리 아퍼지니 보시는 거 비추드림)
정보
지나가던허접a
05/26 2633 11
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43