利用treelib库模拟文件管理系统
1.建立对象
- Interface 界面类
- MultiTree 多叉树类
interface.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author: Minions
# @Date: 2019-12-6 9:10:38
# @Last Modified by: Minions
# @Last Modified time: 2019-12-7 10:32:58
class Interface(object):
def __init__(self):
pass
def operationTips(self):
tipsText = \
"""
************************************************
*
*
* 欢迎进入Minions的文件管理系统
*
*
* 改变目录:格式:cd <目录名>
* 显示目录:格式:dir[<目录名>]
* 创建目录:格式:md <目录名>
* 删除目录:格式:rd<目录名>
* 新建文件:格式:edit<文件名>
* 删除文件:格式:del<文件名>
* 退出文件系统:exit
*
*
************************************************
"""
print(tipsText)
2.明确目标
main.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author: Minions
# @Date: 2019-12-6 9:07:35
# @Last Modified by: Minions
# @Last Modified time: 2019-12-8 10:29:56
from interface import Interface
from multiTree import MultiTree
import os
def main():
# 创建界面对象
face = Interface()
# 创建多叉树对象
multiTree = MultiTree()
face.operationTips()
while True:
try:
operation, path = input("%s>>>" % multiTree.curRePath).split()
if operation == "cd":
multiTree.changeDir(path)
elif operation == "dir":
multiTree.dir(path)
elif operation == "md":
multiTree.makeDir(path)
elif operation == "rd":
multiTree.removeDir(path)
elif operation == "edit":
multiTree.editFile(path)
elif operation == "del":
multiTree.delFile(path)
elif operation == "help" and path == '~':
face.operationTips()
elif operation == "show" and path=="all":
multiTree.tree.show()
elif operation == "exit":
os._exit(0)
except:
print("需要传递两个参数")
if __name__ == '__main__':
main()
3.具体实施
multiTree.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author: Minions
# @Date: 2019-12-6 9:29:56
# @Last Modified by: Minions
# @Last Modified time: 2019-12-8 16:10:25