嗨我有一些python脚本。我需要用几个按钮创建一个GUI,通过浏览打开这些文件。我必须通过单击GUI按钮来运行这些脚本,并将输出写入n excel表。我尝试使用下面的代码,但是我可以只读取文件!请帮忙? 谢谢
from Tkinter import *
from tkFileDialog
import askopenfilename
def callback():
r = open(askopenfilename(),'r')
a = Button(text='click me', command=callback)
a.pack()
mainloop()
答案 0 :(得分:2)
在callback()内部而不是打开文件,使用execfile(“abc.py”)执行文件
def callback():
abc = askopenfilename()
execfile("abc.py")
答案 1 :(得分:0)
下面的代码是一个简单的示例,它从选定的输入文件中读取每一行,然后将其写入名为output.xls的新excel文件。它使用优秀的xlwt library来创建excel文件。您还可以选择使用csv模块创建一个csv文件,该模块是python标准库的一部分,也可由excel读取。使用xlwt的优点是可以应用格式化,合并单元格,公式以及许多其他属于xls文件格式的功能。
import xlwt
from Tkinter import *
from tkFileDialog import askopenfilename
def callback():
filename = askopenfilename()
wb = xlwt.Workbook()
ws0 = wb.add_sheet('Sheet1')
with open(filename, 'r') as f:
for i, line in enumerate(f):
ws0.write(i, 0, line.strip())
wb.save('output.xls')
errmsg = 'Error!'
a = Button(text='click me', command=callback)
a.pack()
mainloop()
答案 2 :(得分:0)
import Tkinter, tkFileDialog
root = Tkinter.Tk()
root.withdraw()
dirname=tkFileDialog.askdirectory(parent=root,initialdir="/",title='Please select a directory')
do something with dirname
print dirname
#This code for file selection:
from Tkinter import Tk
from tkFileDialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
print(filename)