python 访问文件中所有py文件,双击listbox中文件名字能运行
2017-12-05 21:46
323 查看
#-*- coding:utf:8 -*-from Tkinter import *from tkFont import Fontfrom ttk import *from tkMessageBox import *import os'''首先,__init__有两个参数。第一个是self,即Application_ui对象本身。第二个是master,在Tkinter中,一个控件可能属于另一个控件,这时另一个控件就是这个控件的master。默认一个窗口没有master,因此master有None的默认值。 第二行Frame.__init__(self, master)调用Application_ui的父类Frame的__init__函数初始化Application_ui类的Frame类部分。__init__函数的定义如下: __init__(self, master=None, cnf={}, **kw)初始化Frame对象。master为Frame的父控件,默认为None;cnf尚不清楚;kw为命名关键字参数,可接受的参数将在后面提到。'''class Application_ui(Frame):#这个类仅实现界面生成功能,具体事件处理代码在子类Application中。def __init__(self,master = None):Frame.__init__(self,master)self.master.geometry('600x400')self.createWidgets()def createWidgets(self):self.top = self.winfo_toplevel()self.style = Style()self.style.configure('TCommanddirectory.TButton', background='#FFFFFF', font=('Times New Roman',12,'bold'))self.Commanddirectory = Button(self.top, text='访问目录', command=self.start, style='TCommanddirectory1.TButton')self.Commanddirectory.grid(row=0, column=0, rowspan=2, padx=10, pady=10)self.listbox0 = Listbox(self.top, height=20, width=60)self.listbox0.grid(row=1, column=1, rowspan=2, padx=10, pady=10)header = 'filename'self.listbox0.insert(END,header)self.listbox0.itemconfig(0,fg="black")self.listbox0.itemconfig(0,bg="grey")#双击事件绑定self.listbox0.bind('<Double-Button-1>',self.openfile)class Application(Application_ui):#这个类实现具体的事件处理回调函数。界面生成代码在Application_ui中。def __init__(self,master=None):Application_ui.__init__(self, master)def start(self):l = []dirs = os.listdir(os.getcwd())#os.getcwd():获取当前路径for file in dirs:l.append(file)for i in range(len(l)):if '.py' in l[i]:to_add = ' %s' % (l[i])self.listbox0.insert(1, to_add)if i % 2:self.listbox0.itemconfig(1,fg="#4B0082")else:self.listbox0.itemconfig(1,bg="#EDEDED")#定义两个参数,一个是self,一个是event#将idle路径加入环境变量后,利用命令行的方式访问文件def openfile(self, event):#获取所点击的文件的名称filename = self.listbox0.get(self.listbox0.curselection())#idle打开py文件#cmd = "idle " + filename#txt打开py文件cmd = "notepad "+filenameos.system(cmd)if __name__ == "__main__":top = Tk()top.title('python学习结果一览')Application(top).mainloop()try: top.destroy()except: pass实现内容: 使用tkinter图形化界面,点击按钮访8f2d问文件夹下所有py文件,双击listbox中每个py文件的名字能运行该文件。(可以用python 自带的idle打开,也可以用txt打开)实现关键: 1.listbox双击绑定事件bind的使用 2.环境变量下添加idle路径 3.使用python的cmd访问结果:
相关文章推荐
- python3.3 双击py文件不能运行
- Python3基础 os listdir curdir pardir 查看当前工作目录的上一级目录的所有文件的名字
- python编译运行检错神器(将.py文件编译成.pyc文件)
- python执行某一目录下所有.py结尾的文件,并将执行结果保存到log.txt文档。一般用于批量执行测试。
- python:解决pycharm运行py文件时只有unittest选项的方法
- python shell 运行.py文件
- Python:递归遍历目录,统计目录大小,并以列表的形式返回所有py文件
- MFC获取文件夹下所有文件的名字ListBox
- 【学习Python】Windows7中py文件运行方式
- Python的交互模式和直接运行.py文件有什么区别?
- 用命令行运行python所有的unittest文件
- Python-修改文件夹下所有文件的名字
- VMware Workstation 无法连接到虚拟机。请确保您有权限运行该程序、访问改程序使用的所有目录以及访问所有临时文件目录。
- Windows7中双击py文件运行程序
- Python学习(二) linux终端下运行.py文件的方法
- python 获取excel文件的所有sheet名字
- 双击运行py文件,并查看打印输出
- Mod_python 访问时不访问特定py文件的配置方法
- python: 删除当前目录下的所有.pyc、.py~文件
- 运行 python *.py 文件出错,如:python a.py