在 .exe 文件中执行 OS 模块失败 {Python]

问题描述

我创建了这个基本的 Tkinter 图像查看器应用程序。此应用程序首先定义当前工作目录 (CWD) 中的所有图像对象。为此,我需要一个图像名称列表。为了从 CWD 获取图像名称列表,我使用 os 模块。

from tkinter import *
from PIL import ImageTk,Image
from os import listdir,path
from time import time

C=listdir()
B=[]


for i in C:
    x=path.splitext(i)
    if x[1] in [".jpeg",".jpg",".png",".gif",".JPG",".JPEG"]:
        B.append(i)
qwe=len(B)


W=Tk()
W.iconbitmap("CWD_Images.ico")
W.state('zoomed') 
W.title("CWD Images")
W.configure(background="#000033")
fnt=("Russo One",20)
Image_Object=Label(W)
name=Label(W)

img=[]

start=time()
for i in range(qwe):             #Screen Resolution : 1366 x 768
    print("Loading:",B[i])
    sus=Image.open(B[i]).size
    damn1=(sus[0]/sus[1])*580
    damn2=(sus[1]/sus[0])*1350
    if sus[1]>580:         #and sus[1]>sus[0]
        if damn1>1350:
            globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((1350,round(damn2)),Image.ANTIALIAS))
        else:
            globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((round(damn1),580),Image.ANTIALIAS))
    elif sus[0]>1350:      #and sus[0]>sus[1]:
        if damn2>580:
            globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((round(damn1),Image.ANTIALIAS))
        else:
            globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]).resize((1350,Image.ANTIALIAS))
    else:
        globals()["img"+str(i)]=ImageTk.PhotoImage(Image.open(B[i]))

    img.append(globals()["img"+str(i)])
stop=time()
print(">>> Load Completed In",stop-start,"Seconds <<<")

我使用

创建了一个 .exe 文件
pyinstaller --onefile -w -i "Icon.ico" CWD_Images.py

.exe 文件在它创建的目录上运行良好,但在其他地方复制时无法执行。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)