요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 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
61617
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 61617 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
92298
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 92298 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
206317
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 206317 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
254617
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 254617 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1244443
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1244443 -14
영상
eGlhbmd3ZWl0dWRvdQ 26년 4월까지
karatro
05/20
22606
129
eGlhbmd3ZWl0dWRvdQ 26년 4월까지
영상
karatro
05/20 22606 129
야짤
AI의 무서움....
블랙패킷
05/20
6275
-3
AI의 무서움....
야짤
블랙패킷
05/20 6275 -3
동인
(청아) [Kotee] 이리야 일행이 최면술에 걸린 척하고 로리콘 돼지 약자남성소추아저씨에게 인지불필요 러브러브 임신 교배 강간당해서 수정하는 책
밤하늘의신비
05/20
26635
164
(청아) [Kotee] 이리야 일행이 최면술에 걸린 척하고 로리콘 돼지 약자남성소추아저씨에게 인지불필요 러브러브 임신 교배 강간당해서 수정하는 책
동인
밤하늘의신비
05/20 26635 164
작업현황
이게 되네
ㅇㅇ
05/20
4735
5
이게 되네
작업현황
ㅇㅇ
05/20 4735 5
질문
여름의 그 섬 관련 (RJ398173)
외국표류청년
05/20
2403
1
여름의 그 섬 관련 (RJ398173)
질문
외국표류청년
05/20 2403 1
질문
SAO 인비저블 트랩 질문드립니다
thxsmp
05/20
2609
0
SAO 인비저블 트랩 질문드립니다
질문
thxsmp
05/20 2609 0
야짤
Nekoshoko 작가 잘보고 있었는데
ㅇㅇ
05/20
9914
36
Nekoshoko 작가 잘보고 있었는데
야짤
ㅇㅇ
05/20 9914 36
일반
판티아 꼬라지보고 미루던 jcb카드 바로 개통했다
ㅇㅇ
05/20
3036
0
판티아 꼬라지보고 미루던 jcb카드 바로 개통했다
일반
ㅇㅇ
05/20 3036 0
유틸
내가 쓸려고 만든 유틸 프로그램임
몬스터가아니다신이다
05/20
4168
6
내가 쓸려고 만든 유틸 프로그램임
유틸
몬스터가아니다신이다
05/20 4168 6
일반
성인물 검열 심해지는건 미국 영향이 제일 큼
황금황소
05/20
3266
-4
성인물 검열 심해지는건 미국 영향이 제일 큼
일반
황금황소
05/20 3266 -4
일반
Taffy Tales Redux 2 발매일 드디어 결정 났네
nbnz4112
05/20
1548
0
Taffy Tales Redux 2 발매일 드디어 결정 났네
일반
nbnz4112
05/20 1548 0
일반
판티아 사태가 확대될거같네
prolance
05/20
6672
-8
판티아 사태가 확대될거같네
일반
prolance
05/20 6672 -8
질문
조이플 질문
kimboggm
05/20
2256
0
조이플 질문
질문
kimboggm
05/20 2256 0
일반
방주는 진짜
몬스터가아니다신이다
05/20
2488
1
방주는 진짜
일반
몬스터가아니다신이다
05/20 2488 1
일반
Fantia 검열하는데 FANBOX는 괜찮나
mzodia
05/20
2150
0
Fantia 검열하는데 FANBOX는 괜찮나
일반
mzodia
05/20 2150 0
질문
응석받이 처음 해보려는데 질문!
lewdshrimp
05/20
3410
0
응석받이 처음 해보려는데 질문!
질문
lewdshrimp
05/20 3410 0
일반
의술사2 제작결정 빨리 해주
ㅇㅇ
05/20
2137
0
의술사2 제작결정 빨리 해주
일반
ㅇㅇ
05/20 2137 0
일반
야겜 2달차 하면서 느낀점....
oimasage
05/20
2179
0
야겜 2달차 하면서 느낀점....
일반
oimasage
05/20 2179 0
요청
[RJ01041101] 찬연가련 엑셀시폰 강화패치
speranza
05/20
3137
0
[RJ01041101] 찬연가련 엑셀시폰 강화패치
요청
speranza
05/20 3137 0
후기 및 공략
스포) 부계에 잠든 왕녀의 아바돈.. 진엔딩은 아직 멀었다.
이상성애
05/20
6235
6
스포) 부계에 잠든 왕녀의 아바돈.. 진엔딩은 아직 멀었다.
후기 및 공략
이상성애
05/20 6235 6
일반
판티아 난리났네
scint
05/20
4535
0
판티아 난리났네
일반
scint
05/20 4535 0
질문
소리) 동음 고수 구해요
라부이
05/20
2025
1
소리) 동음 고수 구해요
질문
라부이
05/20 2025 1
정보
음욕성녀 근황
sorbe123
05/20
4830
9
음욕성녀 근황
정보
sorbe123
05/20 4830 9
야짤
의성어를... 굳이 번역 해야할까?
5dk2io1
05/20
3582
0
의성어를... 굳이 번역 해야할까?
야짤
5dk2io1
05/20 3582 0
요청
[복구요청] 교배프렛서 1.0.4 기번+이미지
유느크
05/20
8515
0
[복구요청] 교배프렛서 1.0.4 기번+이미지
요청
유느크
05/20 8515 0
작업현황
망가 뷰어 사이트 새로 만들었어요
hiromi
05/20
8739
91
망가 뷰어 사이트 새로 만들었어요
작업현황
hiromi
05/20 8739 91
일반
솔직히 판티아는 알빠노긴한데
ㅇㅇ
05/20
3018
0
솔직히 판티아는 알빠노긴한데
일반
ㅇㅇ
05/20 3018 0
요청
[복구요청]마계동 시리즈
printink
05/20
3342
1
[복구요청]마계동 시리즈
요청
printink
05/20 3342 1
질문
비월선행록 성주 유혹 퀘스트 어케 진전시킴?
ismi8
05/20
4801
0
비월선행록 성주 유혹 퀘스트 어케 진전시킴?
질문
ismi8
05/20 4801 0
일반
비월선행록 걍 존나 묵혀야겟다
zigvalt
05/20
4671
0
비월선행록 걍 존나 묵혀야겟다
일반
zigvalt
05/20 4671 0
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43