요즘 애용하고있는 랜덤 파일 선택기
이전 거처 멸망 전에 만든 방주가 감당이 안되서 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
60950
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05/02 60950 22
공지
‼️뉴비 필독 가이드‼️
1uF
05/02
91816
134
‼️뉴비 필독 가이드‼️
공지
1uF
05/02 91816 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04/05
205750
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04/05 205750 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02/05
253997
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02/05 253997 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
05/17/25
1244106
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
05/17/25 1244106 -14
야짤
체험판 곧 나온다네
ㅇㅇ
05/17
9371
26
체험판 곧 나온다네
야짤
ㅇㅇ
05/17 9371 26
질문
비월선행록 갤러리장면
dodogod
05/17
3735
0
비월선행록 갤러리장면
질문
dodogod
05/17 3735 0
질문
지금 transfer.it 나만 안되는거임?
인생좆망함
05/17
4789
1
지금 transfer.it 나만 안되는거임?
질문
인생좆망함
05/17 4789 1
영상
[복구] 알렉산드리나 세바스티안 (ZZZ) 복구영상
브레머튼
05/17
16767
58
[복구] 알렉산드리나 세바스티안 (ZZZ) 복구영상
영상
브레머튼
05/17 16767 58
일반
의술사 이거 게임적으로 소설적으로 존나 재미있네
fusbriwidhei32
05/17
6756
0
의술사 이거 게임적으로 소설적으로 존나 재미있네
일반
fusbriwidhei32
05/17 6756 0
정보
와쿠와쿠 신작 뇌피셜 6/5 출시
와들와들사시나무
05/17
7541
14
와쿠와쿠 신작 뇌피셜 6/5 출시
정보
와들와들사시나무
05/17 7541 14
요청
[복구요청] xenotake
wmj18548
05/17
10308
0
[복구요청] xenotake
요청
wmj18548
05/17 10308 0
요청
[복구요청] 알렉산드리나 세바스티안 (ZZZ)
raybbit
05/17
7663
-4
[복구요청] 알렉산드리나 세바스티안 (ZZZ)
요청
raybbit
05/17 7663 -4
요청
[복구요청] 서큐버스 니콜 데마라 (ZZZ)
raybbit
05/17
4878
0
[복구요청] 서큐버스 니콜 데마라 (ZZZ)
요청
raybbit
05/17 4878 0
후기 및 공략
갑자기 더워진 요즘 어울리는 여름빛레슨
fourdragonruler
05/17
4368
4
갑자기 더워진 요즘 어울리는 여름빛레슨
후기 및 공략
fourdragonruler
05/17 4368 4
질문
옛날에 봤던 망가가 찾아지질 않아요
5568569
05/17
4055
0
옛날에 봤던 망가가 찾아지질 않아요
질문
5568569
05/17 4055 0
요청
[복구요청] [니케] 신데렐라 (누드 + 바니걸)
raybbit
05/17
2433
0
[복구요청] [니케] 신데렐라 (누드 + 바니걸)
요청
raybbit
05/17 2433 0
미번
(구매보급)몬무스 터치
stiveer
05/17
17706
40
(구매보급)몬무스 터치
미번
stiveer
05/17 17706 40
요청
[복구요청] RJ354420 リトルカノープス 복구부탁드립니다.
발암
05/17
4748
0
[복구요청] RJ354420 リトルカノープス 복구부탁드립니다.
요청
발암
05/17 4748 0
요청
[복구요청] 에이메스 S+ (명조)
raybbit
05/17
9589
0
[복구요청] 에이메스 S+ (명조)
요청
raybbit
05/17 9589 0
요청
[복구요청] 黒月商会 흑월상회 [총 36편]
ddd130559
05/17
7095
-6
[복구요청] 黒月商会 흑월상회 [총 36편]
요청
ddd130559
05/17 7095 -6
일반
의술사도 다했고 이제 뭐하지..
ㅇㅇ
05/17
5201
0
의술사도 다했고 이제 뭐하지..
일반
ㅇㅇ
05/17 5201 0
동인
청아, 직번) 클리토리스 사정조교
rapbit
05/17
29293
86
청아, 직번) 클리토리스 사정조교
동인
rapbit
05/17 29293 86
야짤
ai) ----스압---- 실력지상주의 3명
Ghost
05/17
11111
22
ai) ----스압---- 실력지상주의 3명
야짤
Ghost
05/17 11111 22
요청
[복구요청] RJ136232 거근으로 씨앗 목장이 되는 마을 ~ 명문 모녀들을 닥치는 대로 잉태 정복♪ 거리의 암혈이 나의 가축이 되고 싶어한다!
jinnn1311
05/17
4559
0
[복구요청] RJ136232 거근으로 씨앗 목장이 되는 마을 ~ 명문 모녀들을 닥치는 대로 잉태 정복♪ 거리의 암혈이 나의 가축이 되고 싶어한다!
요청
jinnn1311
05/17 4559 0
번역
[한글패치]비월선행록 V1.29_수정2
아르
05/17
55005
238
[한글패치]비월선행록 V1.29_수정2
번역
아르
05/17 55005 238
야짤
농/수간)몸에 좋은 우리농수간물 컴션 신청한거
412343
05/17
13534
51
농/수간)몸에 좋은 우리농수간물 컴션 신청한거
야짤
412343
05/17 13534 51
질문
의술사의 거리 스토리 질문
부탄가스
05/17
1721
0
의술사의 거리 스토리 질문
질문
부탄가스
05/17 1721 0
피드백
섬홍전희 레밀리아
루미네순애
05/17
4004
3
섬홍전희 레밀리아
피드백
루미네순애
05/17 4004 3
번역
자체한글 - 뒷계 까발린다! 러브호텔로 와라! ver.체험판
kkkkkk0909
05/17
39162
123
자체한글 - 뒷계 까발린다! 러브호텔로 와라! ver.체험판
번역
kkkkkk0909
05/17 39162 123
질문
의술사 진행 몇가지 질문드립니다
rummy
05/17
2759
0
의술사 진행 몇가지 질문드립니다
질문
rummy
05/17 2759 0
질문
도미나 ㅅㅌㅊ 망가나 영상 어디 없나...
handhand
05/17
5426
-1
도미나 ㅅㅌㅊ 망가나 영상 어디 없나...
질문
handhand
05/17 5426 -1
야짤
앵간해서 평점안박히는애들은 찜목록넣어두고 평점박힌거보고 사는편이라 지뢰는피했네
kkkkkk0909
05/17
3584
1
앵간해서 평점안박히는애들은 찜목록넣어두고 평점박힌거보고 사는편이라 지뢰는피했네
야짤
kkkkkk0909
05/17 3584 1
번역
[버전업 알림] RJ432297 크로네의 기분 v1.0.3
qqoro
05/17
30661
79
[버전업 알림] RJ432297 크로네의 기분 v1.0.3
번역
qqoro
05/17 30661 79
요청
[복구요청] [한글패치] 유니슨 코드 ver1.06
casa2136
05/17
8583
2
[복구요청] [한글패치] 유니슨 코드 ver1.06
요청
casa2136
05/17 8583 2
s/somisoft
• 143,985 subscribers여러가지 다루는 서브
Created 05/17/2025, 14:58:43