요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 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
61128
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 61128 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
91900
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 91900 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
205894
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 205894 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
254223
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 254223 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1244279
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1244279 -14
질문
솔루이 미니 학교편 무서워?
oimasage
05/25
1942
1
솔루이 미니 학교편 무서워?
질문
oimasage
05/25 1942 1
후기 및 공략
고블린 월드 중도포기하고 쓰는 후기(부제 : 평점이 그따구인 이유)
chrispypie
05/25
3159
10
고블린 월드 중도포기하고 쓰는 후기(부제 : 평점이 그따구인 이유)
후기 및 공략
chrispypie
05/25 3159 10
동인
직번) ※보추주의 [Brother Pierrot] 갸루 낭자애 수사관과 자지 쥠초밥
qlalfsla
05/25
14878
39
직번) ※보추주의 [Brother Pierrot] 갸루 낭자애 수사관과 자지 쥠초밥
동인
qlalfsla
05/25 14878 39
일반
소년 용사 켄은 하면 할수록 진짜 안타깝다
익명
05/25
2587
0
소년 용사 켄은 하면 할수록 진짜 안타깝다
일반
익명
05/25 2587 0
요청
[복구요청][3D/여주/노출][버전업/한글지원/노모] 비밀 노출 -배덕의 달콤함에 물든 마나카- v1.13 업적 100% 세이브파일
altmrhkdaud
05/25
3388
0
[복구요청][3D/여주/노출][버전업/한글지원/노모] 비밀 노출 -배덕의 달콤함에 물든 마나카- v1.13 업적 100% 세이브파일
요청
altmrhkdaud
05/25 3388 0
정보
여름 전에 나오는 갓겜
aemeath
05/25
10076
52
여름 전에 나오는 갓겜
정보
aemeath
05/25 10076 52
후기 및 공략
시퀄 시리즈 플레이하고 재밌었던 순
futajomusa
05/25
1849
4
시퀄 시리즈 플레이하고 재밌었던 순
후기 및 공략
futajomusa
05/25 1849 4
질문
언홀메 극초반 질문
oohyo
05/25
2002
0
언홀메 극초반 질문
질문
oohyo
05/25 2002 0
미번
[미번/이종간/촉수] 태양의 기사 에리카 0.1.9.1 핫픽스버전 (치트판)
루파조아
05/25
13676
71
[미번/이종간/촉수] 태양의 기사 에리카 0.1.9.1 핫픽스버전 (치트판)
미번
루파조아
05/25 13676 71
야짤
처녀막 검사하기 직전
ㅇㅇ
05/25
6168
12
처녀막 검사하기 직전
야짤
ㅇㅇ
05/25 6168 12
요청
[복구요청] [RJ01131276] 흡혈귀○○일기
NightHawk
05/25
1955
0
[복구요청] [RJ01131276] 흡혈귀○○일기
요청
NightHawk
05/25 1955 0
일반
던브 1회차 완료했는데 주차플레이 필요없을듯
fusbriwidhei32
05/25
1798
0
던브 1회차 완료했는데 주차플레이 필요없을듯
일반
fusbriwidhei32
05/25 1798 0
일반
하 씨발 치유계 누나한테 시코시코 받고 싶다
인생좆망함
05/25
2637
0
하 씨발 치유계 누나한테 시코시코 받고 싶다
일반
인생좆망함
05/25 2637 0
일반
의술사 ㅅㅂ..
ajsskend
05/25
2518
0
의술사 ㅅㅂ..
일반
ajsskend
05/25 2518 0
영상
mmd - 비스크돌 코스프레 실루엣 야스댄스 - Thumbs Up
madrush
05/25
31935
260
mmd - 비스크돌 코스프레 실루엣 야스댄스 - Thumbs Up
영상
madrush
05/25 31935 260
일반
머야 페트론에 태양의 기사 에리카 0.1.9언제 올라왓데
루파조아
05/25
1736
1
머야 페트론에 태양의 기사 에리카 0.1.9언제 올라왓데
일반
루파조아
05/25 1736 1
질문
형님들 그....섹스 종류중하나였는데 동인지에서 봤던거같은데...섹스 이름이 기억이안나요...
jdhdgcxds
05/25
2942
5
형님들 그....섹스 종류중하나였는데 동인지에서 봤던거같은데...섹스 이름이 기억이안나요...
질문
jdhdgcxds
05/25 2942 5
질문
의술사 질문 하나만..
paddackmon
05/25
2506
0
의술사 질문 하나만..
질문
paddackmon
05/25 2506 0
질문
의슬사 서브퀘 하나 뭔지 모르겠음
rummy
05/25
2470
0
의슬사 서브퀘 하나 뭔지 모르겠음
질문
rummy
05/25 2470 0
후기 및 공략
JJJJJ가 적는 카린형무소 후기 및 계획표
gooddaytodie
05/25
3281
5
JJJJJ가 적는 카린형무소 후기 및 계획표
후기 및 공략
gooddaytodie
05/25 3281 5
복구
[요청 복구]For the queen
오우즉시반말
05/25
20525
64
[요청 복구]For the queen
복구
오우즉시반말
05/25 20525 64
복구
[요청복구] 장탈기사 님포리아 v1.07
zadvoskoi
05/25
11814
33
[요청복구] 장탈기사 님포리아 v1.07
복구
zadvoskoi
05/25 11814 33
후기 및 공략
의술사 이거 초반부터 심상치않은데(스포)
paddackmon
05/25
3132
2
의술사 이거 초반부터 심상치않은데(스포)
후기 및 공략
paddackmon
05/25 3132 2
정보
35살 처녀 마법사 속편근황
sorbe123
05/25
6255
16
35살 처녀 마법사 속편근황
정보
sorbe123
05/25 6255 16
후기 및 공략
(스포주의) 세븐데이즈 클리어 했습니다
oolloojr
05/25
2296
9
(스포주의) 세븐데이즈 클리어 했습니다
후기 및 공략
oolloojr
05/25 2296 9
요청
[복구요청] 블루스킨의 숲 ぶるーすきんの森
로켓드릴킥
05/25
2153
0
[복구요청] 블루스킨의 숲 ぶるーすきんの森
요청
로켓드릴킥
05/25 2153 0
질문
비월선행록 유리탑 질문
ㅇㅇ
05/25
1649
0
비월선행록 유리탑 질문
질문
ㅇㅇ
05/25 1649 0
요청
Madruga3D 복구 요청 합니다!
zadvoskoi
05/25
1897
0
Madruga3D 복구 요청 합니다!
요청
zadvoskoi
05/25 1897 0
요청
[복구 요청] 척영의 늑대 0.7.8.3 한글판
raccoonramen
05/25
3156
0
[복구 요청] 척영의 늑대 0.7.8.3 한글판
요청
raccoonramen
05/25 3156 0
복구
[요청복구] RJ211777 복수의 오크
zadvoskoi
05/25
18421
57
[요청복구] RJ211777 복수의 오크
복구
zadvoskoi
05/25 18421 57
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43