Как достать файлы из скомпилированной программы на python?
Я написал программу, которая запускает анимацию в окне. Когда я закончил ее, я ее скомпилировал с помощью pyinstaller, добавив к скрипту звук и папку с кадрами (звук и папка в одной директории со скриптом) с помощью --add-data. Никаких архивов у меня нет, я скрипт и файлы в один .exe файл поместил Теперь мне нужно как-то достать эти звук и папку. Как это можно сделать?
Вот скрипт:
from tkinter import *
from PIL import Image, ImageTk
from time import sleep
from threading import Thread
import pyglet
import os
# Create the main window
root = Tk()
root.configure(background='black')
root.geometry("800x800")
# Create a label to display the image
image_label = Label(root, borderwidth=0)
image_label.place(relx=0.5, rely=0.5, anchor="center")
# Load frames
imageFiles = os.listdir("frames") # до компиляции
images = []
for i in range(len(imageFiles)):
image = Image.open(f"frames/{imageFiles[i]}")
image = ImageTk.PhotoImage(image)
images.append(image)
def animateWindow():
global image_label
while True:
for i in range(len(images)):
sleep(0.1)
image_label.config(image=images[i])
def playSound():
while True:
player = pyglet.media.Player()
source = pyglet.media.StaticSource(pyglet.media.load("audio.wav")) # до компиляции
player.queue(source)
player.play()
sleep(34)
t1 = Thread(target=animateWindow)
t2 = Thread(target=playSound)
t1.start()
t2.start()
root.mainloop()
Ответы (1 шт):
Автор решения: eri
→ Ссылка
pyinstaller это самораспаковывающийся zip:
- запусти программу и поищи свои файлы в
%TEMP%
(C:/Users/<username>/AppData/Local/Temp/<tempdir>) - открой архиватором, например 7z
- через pyi-archive_viewer что идет в комплекте к pyinstaller