요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 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
61772
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 61772 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
92480
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 92480 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
206413
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 206413 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
254839
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 254839 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1244449
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1244449 -14
번역
[AI번역]예전에 번역했던거 몇개
솔라셀
05/21
32526
169
[AI번역]예전에 번역했던거 몇개
번역
솔라셀
05/21 32526 169
동인
Zurikishi-동급생 메이드 시리즈 모음
k8625
05/21
26021
139
Zurikishi-동급생 메이드 시리즈 모음
동인
k8625
05/21 26021 139
동인
Zurikishi-멘헤라 여자애 모음
k8625
05/21
36118
212
Zurikishi-멘헤라 여자애 모음
동인
k8625
05/21 36118 212
질문
동인지 이름 찾습니다...
gomdong2021
05/21
1396
1
동인지 이름 찾습니다...
질문
gomdong2021
05/21 1396 1
일반
그러고보니 관문지기 요즘 어떻게 됐지
ㅇㅇ
05/21
2715
-1
그러고보니 관문지기 요즘 어떻게 됐지
일반
ㅇㅇ
05/21 2715 -1
번역
버전업, 자체한글) RJ01604009 너스콜 경비원: Append.1 간호사 증원 패치
딸ㄱ기맛
05/21
29480
154
버전업, 자체한글) RJ01604009 너스콜 경비원: Append.1 간호사 증원 패치
번역
딸ㄱ기맛
05/21 29480 154
미번
[복구]penetrating a petite sleeping elf
kimkaral
05/21
5689
11
[복구]penetrating a petite sleeping elf
미번
kimkaral
05/21 5689 11
일반
나도 의술사 불만인 점
lightmax
05/21
3640
0
나도 의술사 불만인 점
일반
lightmax
05/21 3640 0
일반
ai 동인지는 말그대로 찍어내듯이 만들 수 있을텐데
ec2100
05/21
3094
0
ai 동인지는 말그대로 찍어내듯이 만들 수 있을텐데
일반
ec2100
05/21 3094 0
일반
순애야겜<<<이게 잘만들면 갓겜인 이유가 있더라
pinanmin
05/21
2476
3
순애야겜<<<이게 잘만들면 갓겜인 이유가 있더라
일반
pinanmin
05/21 2476 3
요청
[복구요청] [RJ01167948][보이스코믹/음성][한글화] 반찬당번 마치다짱
삐삐삣
05/21
2755
2
[복구요청] [RJ01167948][보이스코믹/음성][한글화] 반찬당번 마치다짱
요청
삐삐삣
05/21 2755 2
질문
얼터에고이즘 DLC는 무슨 내용임?
paddackmon
05/21
2207
0
얼터에고이즘 DLC는 무슨 내용임?
질문
paddackmon
05/21 2207 0
동인
[기번/검수][A-10]-백주 백탁 클리 노출 절정(유루캠△)
serdic
05/21
14444
75
[기번/검수][A-10]-백주 백탁 클리 노출 절정(유루캠△)
동인
serdic
05/21 14444 75
일반
kiss사는 보법이 남다르네...
흐긴배긴
05/21
3412
0
kiss사는 보법이 남다르네...
일반
흐긴배긴
05/21 3412 0
동인
(청아, 노모, 컬러)봐줘 봐줘 좀 더
에우리알레
05/21
22852
56
(청아, 노모, 컬러)봐줘 봐줘 좀 더
동인
에우리알레
05/21 22852 56
질문
왜 자꾸 eperm이 뜸?
zszsz
05/21
4754
-2
왜 자꾸 eperm이 뜸?
질문
zszsz
05/21 4754 -2
질문
이거ai인가
pudiwey
05/21
2154
-1
이거ai인가
질문
pudiwey
05/21 2154 -1
일반
의술사 다 좋은데 좀 아쉬운거
bbtt1234
05/21
1862
0
의술사 다 좋은데 좀 아쉬운거
일반
bbtt1234
05/21 1862 0
요청
[복구요청] RJ328615 새겨진 쾌감 복구 요청드립니다.
사탕20
05/21
4390
2
[복구요청] RJ328615 새겨진 쾌감 복구 요청드립니다.
요청
사탕20
05/21 4390 2
일반
풍기위원이란 소재 자체가 치트기인 것 같음
didhd87
05/21
3586
3
풍기위원이란 소재 자체가 치트기인 것 같음
일반
didhd87
05/21 3586 3
요청
[복구요청]소장의 욕망증 시리즈
dfgtewkwg
05/21
1771
5
[복구요청]소장의 욕망증 시리즈
요청
dfgtewkwg
05/21 1771 5
후기 및 공략
학원생활노출 이모저모
ENE
05/21
4970
4
학원생활노출 이모저모
후기 및 공략
ENE
05/21 4970 4
작업현황
Church of Desires 손번역판 1.3 버전 업 완료
sesv3030
05/21
4368
7
Church of Desires 손번역판 1.3 버전 업 완료
작업현황
sesv3030
05/21 4368 7
영상
[한글자막] 버큠 프리큐어 SPECIAL MOVIE Vol.003 ~큐어 비트와의 만남~
실루엣21
05/21
27876
177
[한글자막] 버큠 프리큐어 SPECIAL MOVIE Vol.003 ~큐어 비트와의 만남~
영상
실루엣21
05/21 27876 177
정보
28일 출시 예정 "레벨 99 치트 용사인 내가 서큐버스 따위에게 질 리가 없어"
lovesccubus
05/21
4404
3
28일 출시 예정 "레벨 99 치트 용사인 내가 서큐버스 따위에게 질 리가 없어"
정보
lovesccubus
05/21 4404 3
질문
언홀메 seed of profanity 적용 시킬 때, 한패 적용도 안 된 순정파일에 해야 하는 거임?
buysomething
05/21
2938
0
언홀메 seed of profanity 적용 시킬 때, 한패 적용도 안 된 순정파일에 해야 하는 거임?
질문
buysomething
05/21 2938 0
일반
fantia는 좆같은 결제를 속박으로 규제가 덜한게 아니었나
nokchabap
05/21
2358
0
fantia는 좆같은 결제를 속박으로 규제가 덜한게 아니었나
일반
nokchabap
05/21 2358 0
일반
이젠 안하겠지 지우지 말기
gaemi01ba
05/21
2430
1
이젠 안하겠지 지우지 말기
일반
gaemi01ba
05/21 2430 1
질문
시간순삭게임 업나용?
p2ppl
05/21
2145
1
시간순삭게임 업나용?
질문
p2ppl
05/21 2145 1
일반
벌써 5월말이네...
Salmon103918
05/21
4203
1
벌써 5월말이네...
일반
Salmon103918
05/21 4203 1
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43