你是否曾经因为需要手动创建复杂的文件夹结构而感到头疼?是不是觉得一层一层地新建文件夹,尤其是带有子文件夹和文件的文件系统结构,实在是太繁琐了?如果你经常处理项目中的文件组织,那么我为你带来了一种简单又高效的解决方案。
C:\pythoncode\new\chromesnapshoot.py
今天,我将通过一个有趣的项目展示如何利用 wxPython 来创建一个文件夹结构生成器,帮助你自动化地创建文件夹和文件结构,只需输入一个简单的描述。让我们一起探索如何通过代码生成你需要的文件系统结构吧!
全部代码
import wx
import os
class FolderStructureCreator(wx.Frame):
def __init__(self, parent, title):
super().__init__(parent, title=title, size=(600, 400))
# 创建面板
panel = wx.Panel(self)
# 创建控件
self.memo = wx.TextCtrl(panel, style=wx.TE_MULTILINE, size=(500, 200), pos=(50, 50))
self.create_button = wx.Button(panel, label="创建", pos=(50, 270))
self.folder_picker = wx.DirPickerCtrl(panel, path="", size=(500, -1), pos=(50, 300))
# 绑定事件
self.create_button.Bind(wx.EVT_BUTTON, self.on_create)
self.Show()
def on_create(self, event):
# 获取目标文件夹路径
target_folder = self.folder_picker.GetPath()
if not target_folder:
wx.MessageBox("请选择目标文件夹", "错误", wx.ICON_ERROR)
return
# 获取输入的文件夹结构描述
folder_structure = self.memo.GetValue()
if not folder_structure:
wx.MessageBox("请输入文件夹结构描述", "错误", wx.ICON_ERROR)
return
# 根据文件夹结构描述创建文件夹和文件
self.create_structure(target_folder, folder_structure)
def create_structure(self, base_path, structure):
lines = structure.splitlines()
current_path = base_path
for line in lines:
# 处理文件夹
if '├──' in line or '└──' in line:
folder_name = line.strip