Python 模块的参数可以用字典么?哪位大神看看我的代码哪里有问题,报错信息也在的

mygzhh mygzhh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
需要实现的功能是:
三级菜单
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()
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
mygzhh
脚本语言 37,738 成员 34,208 内容