Python 模块的参数可以用字典么?哪位大神看看我的代码哪里有问题,报错信息也在的
需要实现的功能是:
三级菜单
1.从文本内读出选项
2.查询每一级的选项,并能对选项进行增/删/改功能
3.每一级可以退出程序或者返回上一层
思路
三个操作模块,分别是 增/删/改 功能
三个查询模块,分别对每一级别进行查询
报错信息:
Traceback (most recent call last):
File "E:/python/day8/three menu.py", line 79, in <module>
shen()
File "E:/python/day8/three menu.py", line 37, in shen
elif city == 'a':FileAppend(menu)
File "E:/python/day8/three menu.py", line 17, in FileAppend
ExChange()
File "E:/python/day8/three menu.py", line 47, in ExChange
FileWrite.write(menu)
TypeError: expected a string or other character buffer object
三级菜单
1.从文本内读出选项
2.查询每一级的选项,并能对选项进行增/删/改功能
3.每一级可以退出程序或者返回上一层
思路
三个操作模块,分别是 增/删/改 功能
三个查询模块,分别对每一级别进行查询
报错信息:
Traceback (most recent call last):
File "E:/python/day8/three menu.py", line 79, in <module>
shen()
File "E:/python/day8/three menu.py", line 37, in shen
elif city == 'a':FileAppend(menu)
File "E:/python/day8/three menu.py", line 17, in FileAppend
ExChange()
File "E:/python/day8/three menu.py", line 47, in ExChange
FileWrite.write(menu)
TypeError: expected a string or other character buffer object
# -*- coding: UTF-8 -*-
#__filename:three menu
#__time:2018/5/13 22:04
import io
import os
FileRead = io.open('city','r',encoding='utf8')
FileWrite= open('city_backup','w+')
menu = eval(FileRead.read())
def FileAppend(MenuAppend):
CityAppend = raw_input("请输入添加的城市",)
MenuAppend['CityAppend']={}
ExChange()
def FileDel(MenuDel):
CityDel = raw_input("请输入你要删除的城市",)
MenuDel.pop('CityDel')
ExChange()
def FileChance(MenuChance):
CityChance = raw_input("请输入被替换的城市",)
if CityChance in MenuChance : CityChanced = raw_input("请输入替换的城市",)
MenuChance['CityChanced'] = MenuChance['CityChance']
MenuChance.pop('CityChance')
ExChange()
def shen():
for i in menu:print (i)
city = raw_input('请输入你选择的省份',)
if city == 'q': exit()
elif city == 'd':FileDel(menu)
elif city == 'c':FileChance(menu)
elif city == 'a':FileAppend(menu)
elif (city in menu) and (menu[city]!=0): shi(city)
elif menu[city]==0 :
print "该省下面没有市,请添加"
FileAppend(menu[city])
else:
print '请输入正确的省份'
shen()
def ExChange():
FileWrite.write(menu)
FileRead.close()
FileWrite.close()
os.remove('FileRead')
os.renames('FileWrite','FileRead')
def shi(city):
for i in menu[city]: print (i)
city1 = raw_input('请输入你选择的市或退出程序(Q)或返回上一级菜单(B)').strip()
if city1 == 'b':shen()
elif city1 == 'q':exit()
elif city1 == 'd':FileDel(menu[city])
elif city1 == 'c':FileChance(menu[city])
elif city1 == 'a':FileAppend(menu[city])
elif (city1 in menu[city])and (menu[city][city1]!=0):xian(city,city1)
elif menu[city][city1]==0 : FileAppend( menu[city][city1])
else:
'请输入正确的市'
shi(city)
def xian(city,city1):
for i in menu[city][city1]: print (i)
city2 = raw_input('请选择退出(Q)或返回(B) ')
if city2 == 'b': shi(city)
elif city2 == 'q': exit()
elif city2 == 'd':FileDel(menu[city][city1])
elif city2 == 'c':FileChance(menu[city][city1])
elif city2 == 'a':FileAppend(menu[city][city1])
else:
'请输入正确的区或县'
xian(city, city1)
shen()
...全文
相关推荐
Python中运行有关jieba模块的时候报错:Building prefix dict from the default dictionary …
在描述中,作者提到重启PyCharm和其他程序没有问题,只有jieba相关的程序报错,这暗示问题可能特定于jieba模块。
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
在排查问题时,可以查看Python的异常信息,它通常会给出错误的具体位置,帮助你定位问题所在。同时,检查`sys.path`,确保Python能正确找到Pillow库的路径。
解决PyCharm同目录下导入模块会报错的问题
在使用PyCharm 2017进行Python开发时,可能会遇到一个常见的问题:在项目同目录下导入其他模块时,PyCharm会报错"No module named...",尽管代码可以在本地运行无误。
python 字典操作提取key,value的方法
理解并熟练掌握这些操作,将有助于在Python编程中更高效地处理字典数据结构。在实际开发中,根据具体需求选择合适的方法,可以提高代码的灵活性和可读性。
执行Python程序时模块报错问题
如果不在,可以手动添加到环境变量`PYTHONPATH`,或者在代码中使用`sys.path.append()`添加路径。总结来说,解决Python模块报错问题的基本步骤包括:1.


