요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 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
60702
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 60702 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
91044
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 91044 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
205343
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 205343 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
253668
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 253668 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1243754
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1243754 -14
유틸
다키스트 던전 Anaertailin 몬스터 컬렉션/NPC NSFW 모음
삐뉴
07/28/25
10991
27
다키스트 던전 Anaertailin 몬스터 컬렉션/NPC NSFW 모음
유틸
삐뉴
07/28/25 10991 27
유틸
미리보기 관련 유저스크립트
cloud67p
07/28/25
2494
3
미리보기 관련 유저스크립트
유틸
cloud67p
07/28/25 2494 3
유틸
Base64 링크 자동번역 확장 프로그램
blacklink
07/25/25
6094
15
Base64 링크 자동번역 확장 프로그램
유틸
blacklink
07/25/25 6094 15
유틸
카린 전용치트 Karryn's Prison 전용치트 ver1.4d
4HHHH
07/22/25
18525
22
카린 전용치트 Karryn's Prison 전용치트 ver1.4d
유틸
4HHHH
07/22/25 18525 22
유틸
이제 다운받은 망가도 히토미를 보듯이!
blacklink
07/21/25
8366
17
이제 다운받은 망가도 히토미를 보듯이!
유틸
blacklink
07/21/25 8366 17
유틸
RPG MV 치트 플러그인 개조 버전 v2.1
4HHHH
07/19/25
21641
30
RPG MV 치트 플러그인 개조 버전 v2.1
유틸
4HHHH
07/19/25 21641 30
유틸
[노모이미지파일만] 카바씨네의 즐거운 투병 생활UC
미스터장
07/17/25
9027
23
[노모이미지파일만] 카바씨네의 즐거운 투병 생활UC
유틸
미스터장
07/17/25 9027 23
유틸
goodbyedpi
unkown453645
07/15/25
6087
23
goodbyedpi
유틸
unkown453645
07/15/25 6087 23
유틸
mpv(영상플레이어)
unkown453645
07/15/25
4327
9
mpv(영상플레이어)
유틸
unkown453645
07/15/25 4327 9
유틸
로케일 에뮬
unkown453645
07/15/25
4712
15
로케일 에뮬
유틸
unkown453645
07/15/25 4712 15
유틸
아랄트랜스
unkown453645
07/15/25
3857
12
아랄트랜스
유틸
unkown453645
07/15/25 3857 12
유틸
투투컨
unkown453645
07/15/25
4376
11
투투컨
유틸
unkown453645
07/15/25 4376 11
유틸
간단한 자동 RJ/VJ 코드 링커
traffica9
07/15/25
4373
7
간단한 자동 RJ/VJ 코드 링커
유틸
traffica9
07/15/25 4373 7
유틸
webp -> jpg 이미지 변환기
anaweak
07/15/25
3213
13
webp -> jpg 이미지 변환기
유틸
anaweak
07/15/25 3213 13
유틸
루저메이커 뷰지 모델링
vneldzhffk
07/14/25
3921
3
루저메이커 뷰지 모델링
유틸
vneldzhffk
07/14/25 3921 3
유틸
드래곤 콩키스타 스탠딩 일러스트 가슴 흔들림 모드 번역
미스터장
07/11/25
11245
49
드래곤 콩키스타 스탠딩 일러스트 가슴 흔들림 모드 번역
유틸
미스터장
07/11/25 11245 49
유틸
다키스트 세일 기념 NSFW 스킨/모드
삐뉴
07/11/25
8258
27
다키스트 세일 기념 NSFW 스킨/모드
유틸
삐뉴
07/11/25 8258 27
유틸
시니시스타2 모드 관련 편집 모드툴?
무슨소리니
07/11/25
5522
13
시니시스타2 모드 관련 편집 모드툴?
유틸
무슨소리니
07/11/25 5522 13
유틸
한여름의 절정 캐릭터 공유2
mola245
07/10/25
11057
30
한여름의 절정 캐릭터 공유2
유틸
mola245
07/10/25 11057 30
유틸
요즘 애용하고있는 랜덤 파일 선택기
skdyd
07/07/25
4197
13
요즘 애용하고있는 랜덤 파일 선택기
유틸
skdyd
07/07/25 4197 13
유틸
한여름의 절정 공홈에서 퍼온 캐릭터카드
ㅇㅇ
07/05/25
7841
15
한여름의 절정 공홈에서 퍼온 캐릭터카드
유틸
ㅇㅇ
07/05/25 7841 15
유틸
MaidenSnowEve 메이든스노우이브 어느 전야제, 보이스팩 + 양덕모드
eyjafjalia
07/04/25
5232
13
MaidenSnowEve 메이든스노우이브 어느 전야제, 보이스팩 + 양덕모드
유틸
eyjafjalia
07/04/25 5232 13
유틸
[2026-01-11] 히토미 다운로더 코네용
kts
07/03/25
22432
66
[2026-01-11] 히토미 다운로더 코네용
유틸
kts
07/03/25 22432 66
유틸
Sexbound(스타바운드)통팩 V0.2 ,Lustiest Lair 1.6 메가-커스텀 팩(2025.09.30까지)
파에톤1호팬
07/02/25
15036
24
Sexbound(스타바운드)통팩 V0.2 ,Lustiest Lair 1.6 메가-커스텀 팩(2025.09.30까지)
유틸
파에톤1호팬
07/02/25 15036 24
유틸
[업뎃] base64 자동 복호화 1.4.15
arcjay
07/01/25
18690
35
[업뎃] base64 자동 복호화 1.4.15
유틸
arcjay
07/01/25 18690 35
유틸
개념글 앞에 ⭐️ 붙이기 스크립트
963
06/30/25
4029
13
개념글 앞에 ⭐️ 붙이기 스크립트
유틸
963
06/30/25 4029 13
유틸
[복구]+@ 시니시스타 2 모드 모음(1.07)
sims9876
06/29/25
38058
39
[복구]+@ 시니시스타 2 모드 모음(1.07)
유틸
sims9876
06/29/25 38058 39
유틸
웨일 브라우저 로컬 저장소 이미지 번역용 로컬 서버
LRMGC
06/29/25
3735
10
웨일 브라우저 로컬 저장소 이미지 번역용 로컬 서버
유틸
LRMGC
06/29/25 3735 10
유틸
구버전 알만툴 게임에 더 나은 전체화면 적용 시키는 유틸리티
jpjp112
06/22/25
4817
11
구버전 알만툴 게임에 더 나은 전체화면 적용 시키는 유틸리티
유틸
jpjp112
06/22/25 4817 11
유틸
[업뎃] base64 자동복호화
arcjay
06/15/25
16217
29
[업뎃] base64 자동복호화
유틸
arcjay
06/15/25 16217 29
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43