Python三级目录展示的实现方法


Posted in Python onSeptember 28, 2016

要求:

1、三级菜单

2、可依次选择进入各子菜单,选择序号进入目录

3、输入b返回上级目录,q退出更改目录

代码实现:

#!/bin/env python
#!--*--coding:utf-8 --*--
# ----*auth:freem*
import sys
#flag=True
#def flas():
#flag=False;
#定义字典包括,国家,州(省),市
dic={'中国':{'河北':('石家庄','邢台','衡水',),'北京':('昌平','海淀','朝阳',),'山西':('太原','大同','运程',)},'美国':{'纽约州':('纽约市','罗彻斯特','水牛城',),'加利福利亚州':('洛杉矶','好莱坞','阿罕布拉',),'宾夕法尼亚州':('费城','伯利恒','华盛顿',)},'澳大利亚':{'维多利亚州':('墨尔本','吉朗','巴里迪',),'西澳大利亚州':('马扎尔','柏斯','费里曼图',),'南澳大利亚州':('阿德莱德','内陆','巴罗莎'),}}
#print(dic['中国']['河北'])
dic_dir={1:"中国",2:"美国",3:"澳大利亚",} #定义国家跟序号的对应关系
dic_dirtt={1:("河北","北京","山西"),2:("纽约州","加利福利亚州","宾夕法尼亚州",),3:("维多利亚州","西澳大利亚州","南澳大利亚州",)} #省(州)对应关系
#dic_dir01={1:"中国",2:"美国",3:"澳大利亚",}
#dic_dir02={1:"中国",2:"美国",3:"澳大利亚",}
'''for i in range(1,dic.__len__()+1):
print(i,":",dic.pop())'''
#print(dic["中国"]["河北"][1])
#print(["河北"][1])
def loop():
while True:
for i in range(1,dic.__len__()+1): #遍历字典长度,生成序号
print(i,':',dic_dir[i])
dir01=input("please input num or q[quit]:",)#选择对应序号输入以及输入返回上级目录标识
if dir01 in ['1','2','3']:#确认输入序号是否在['1','2','3']中
for j in range(1,dic.__len__()+1):
if int(dir01)==j:
print(">>",j,':',dic_dir[j],"\n") #打印所序号所对应的国家
for i in range(1, dic[dic_dir[j]].__len__() + 1):
print(">>>>",i, ':',dic_dirtt[j][i-1]) #遍历输出所选序号国家对应的省/州
dir02 = input("please input num or b[back] or q[quit]:", )#输入上级所需国家对应的省的序号
if dir02 in ['1', '2', '3']:
for k in range(1, dic[dic_dir[j]].__len__() + 1):#遍历省所对应字典所对应的长度,生成序号
if int(dir02) == k:
print("*******",k,":",dic_dirtt[j][k-1],"\n")
for h in range(1, dic[dic_dir[j]][dic_dirtt[j][k-1]].__len__() + 1):
print("*******^_^>>>>",h, ':',dic[dic_dir[j]][dic_dirtt[j][k-1]][h-1])#打印最终选择的省所对应的城市
print("------------------------------------------------")
# print(k, ':',dic_dirtt[j][k])
elif dir02=='b':
continue; #跳出上一级循环
elif dir02=='q':
return #跳出整个循环
#return False;
else:
print("please insert correct str,strat with higher dir!")
#print(i, ':', dic[dic_dir[j]])
# print(dic[dic_dir[j]])
elif dir01=='q':
break; #退出
else:
print("please insert correct str!")
if __name__=="__main__":
loop()

实现效果:

1)正常输入,分别输入序号1,展示“中国”的下级目录,接着输入1,展示“河北”的下级目录,如下图所示:

Python三级目录展示的实现方法

2)、直接输入[q],退出程序,如下图所示:

Python三级目录展示的实现方法

3)、第一级目录正常输入,第二级目录输入[b],返回上级目录,如下图所示:

Python三级目录展示的实现方法

4)、第一级目录正常输入,第二级目录输入[q],直接退出整个程序,如下图所示:

Python三级目录展示的实现方法

注:本程序仅适用python3.0以上,如若python2.7,请自行修改;

以上所述是小编给大家介绍的Python三级目录展示的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python写的创建文件夹自定义函数mkdir()
Aug 25 Python
python生成IP段的方法
Jul 07 Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
Python set常用操作函数集锦
Nov 15 Python
使用python 爬虫抓站的一些技巧总结
Jan 10 Python
pyhanlp安装介绍和简单应用
Feb 22 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
pytorch打印网络结构的实例
Aug 19 Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 Python
容易被忽略的Python内置类型
Sep 03 Python
使用Python绘制台风轨迹图的示例代码
Sep 21 Python
快速创建python 虚拟环境
Nov 28 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 #Python
python 采集中文乱码问题的完美解决方法
Sep 27 #Python
20招让你的Python飞起来!
Sep 27 #Python
python搭建虚拟环境的步骤详解
Sep 27 #Python
利用python发送和接收邮件
Sep 27 #Python
实现python版本的按任意键继续/退出
Sep 26 #Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 #Python
You might like
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
类似GMAIL的Ajax信息反馈显示
2010/02/16 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
让你的CSS像Jquery一样做筛选的实现方法
2011/07/10 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
2014/05/11 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
JS倒计时两种实现方式代码实例
2020/07/27 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
python打开网页和暂停实例
2014/09/30 Python
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
Python计算字符宽度的方法
2016/06/14 Python
正确理解Python中if __name__ == '__main__'
2019/01/24 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
自考毕业生自我鉴定
2013/11/04 职场文书
大学生自我鉴定
2013/12/08 职场文书
美容院经理岗位职责
2014/04/03 职场文书
2014中学教师节广播稿
2014/09/10 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
预备党员转正材料
2014/12/19 职场文书
信用卡收入证明范本
2015/06/12 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers