我使用pyinstaller创建了一个EXE文件,其中包括excel文件。请参阅以下代码:
import pandas
from tkinter import *
sec = pandas.read_csv("sectionsize.csv")
win = Tk()
win.title('Imp vs Metric Section size')
win.geometry('320x100')
win.attributes("-topmost", True)
win.resizable(0,0)
def reset(dummy=None):
e1.delete(0, 'end')
e2.delete(0, 'end')
def conv(dummy=None):
s1 = str(e1.get())
s2 = str(e2.get())
a = s1.upper()
b = s2.upper()
if len(a)!=0 and len(b)==0:
try:
imp_index = sec[sec['Imperial']==a].index[0]
x = sec['Metric'][imp_index]
e2.delete(0, 'end')
e2.insert(END, x)
except:
x = 'Check Section size'
e2.delete(0, 'end')
e2.insert(END, x)
elif len(a)==0 and len(b)!=0:
try:
metric_index = sec[sec['Metric']==b].index[0]
y = sec['Imperial'][metric_index]
e1.delete(0, 'end')
e1.insert(END, y)
except:
y = 'Check Section size'
e1.delete(0, 'end')
e1.insert(END, y)
elif len(a)!=0 and len(b)!=0:
e1.delete(0, 'end')
e2.delete(0, 'end')
else:
pass
win.bind('<Return>', conv)
win.bind('<Escape>', reset)
l1=Label(win, text='Imperial')
l1.place(x=25, y=10)
l2=Label(win, text='Metric')
l2.place(x=25, y=50)
e1=Entry(win, width=30)
e1.place(x=90, y=10)
e1.focus_set()
e2=Entry(win, width=30)
e2.place(x=90, y=50)
win.mainloop()
exe文件打开并在我的计算机上完美运行。唯一的问题是,此文件要求excel文件位于同一文件夹中。如何在不使用外部文件的情况下将excel文件捆绑到EXE中?任何输入都会真正有帮助。
答案 0 :(得分:0)
为此,您必须使用--add-data
标志
来自Pyinstaller的文档:
要捆绑的内容,在何处搜索: --add-data
>要添加到的其他非二进制文件或文件夹 可执行文件。路径分隔符是平台 特定的 os.pathsep
(在Windows上为;
和:
在大多数Unix系统上)。此选项 可以多次使用。