浏览文件以使用GUI python打开和运行

时间:2012-11-21 05:07:36

标签: python

嗨我有一些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()

3 个答案:

答案 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)