由于海龟画图模块用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资源。)

