由于海龟画图模块用tkinter模块开发,所以可以使用tkinter组件。下面的程序用它开发了一个“框架”程序。你需要自行编写相关模块和函数才能正确使用,自带的模块为rename.py。它能对列表框中的每一个文件重命名(会在文件名后加.lxq)。
""" 海龟批处理器.py 本程序演示了如何在海龟画图,也就是tkiner的画布上布局按钮等组件。 还演示了,如何动态载入外部模块。 这是一个需要加载外部模块再对一些文件进行相应处理的程序。 外部模块一定要放在mods文件夹下。在这个文件夹下面有一个示例的rename.py文件。 它里面有一个process函数。这个函数是对每一个项目进行处理。 """ import os import sys import time import importlib from tkinter import filedialog from turtle import Turtle,Screen,TK from tkinter.messagebox import showinfo outmodule = None # 载入的外部模块名称 def __import__(name): """动态加载模块的函数""" global outmodule name = os.path.basename(name).split('.')[0] screen.title('当前处理模块:' + name) # 载入mods文件夹下面的name模块 outmodule = importlib.import_module('mods' + "." + name) def askopenfilename(): """打开一个文件""" 文件类型列表 = [('py文件','*.py'),('txt文件', '*.txt'), ('所有文件', '*')] modulename = filedialog.askopenfilename(title='从mods中选择处理模块', filetypes=文件类型列表) __import__(modulename) # 动态导入模块 def askopenfilenames(): """打开很多文件""" 文件类型列表 = [('所有文件', '*'),('png文件', '*.png'), ('gif动图文件','*.gif'),('jpg动图文件','*.jpg')] files = filedialog.askopenfilenames(filetypes=文件类型列表) if files: for file in files: filename = os.path.basename(file) listbox.insert(TK.END, filename) def 处理(): for index in range(listbox.size()): listbox.select_set(index) item = listbox.get(index) listbox.update() outmodule.process(item) listbox.select_clear(index) showinfo('信息','处理结束') sw,sh = 280,360 screen = Screen() screen.setup(sw,sh) screen.screensize(1,1) screen.bgcolor('yellow') root = screen._root screen.title('海龟批处理器') pass # 这里省略一些代码 screen.mainloop()
需要完整源代码和素材请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)