0

我对以下代码有奇怪的行为。当我从 PyCharm 级别运行此代码时,它可以正常工作并返回此窗口(包括带有 Python 徽标的 gif!): 带有 Python 徽标的窗口

当我运行相同的 python 代码但使用 .bat 和 .vbs 文件时。它会给我这样的错误:

错误

还有一件事……“.vbs”文件在打开 Windows(操作系统)时自动启动。“.vbs”文件打开“.bat”文件,“.bat”文件打开“.py”文件。

你知道为什么python代码在windows操作系统下启动时找不到“.gif”吗?

这是代码:

import tkinter as tk
class KeypadTest():
    def __init__(self, master):
        self.master = master
        self.time_display = tk.IntVar()
        global logo
        logo = tk.PhotoImage(file="indeks_gif.gif")
        tk.Label(self.master, height=10, width=10 , textvariable=self.time_display,bg="red").pack(side="right")
        Info = """INFO"""
        tk.Label(self.master,compound = tk.CENTER,image=logo,text=Info).pack()
master = tk.Tk()
KT = KeypadTest(master)
master.mainloop()
4

1 回答 1

1

程序找不到文件。我怀疑这是因为您没有从 gif 文件所在的目录运行 Python 程序。

这可以通过提供图像的完整路径或通过从该目录运行 bat 文件来解决,无论 bat 文件位于何处。我没有尝试过使用 vbs 文件,但我认为问题是一样的。

您可以通过在程序中包含一行来进行试验,该行在启动时打印出工作目录。

import os
print(os.getcwd()) 
于 2019-09-21T22:24:41.743 回答