| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
为什么呀,难道是我建的文件路径不对吗,是同一路径呀。或者是我的主函数什么的写错了??大佬们帮忙看看是什么问题 
 
- import re
 
 - import os
 
 - filename="student.txt"
 
 - card_list = []
 
 - headline=[]
 
 - def load_info():
 
 -     """从文件导入学生信息"""
 
 -     fr=open("student.txt",'r')
 
 -     head=fr.readline()
 
 -     headline.append(head)
 
 -     fr.seek(0,0)
 
 -     lines=fr.readlines()
 
 -     flied=lines.pop(0).split(',')
 
 -     for eachline in lines:
 
 -         t=eachline.split('\t')
 
 -         t[7]=t[7].strip('\n')
 
 -         card_dict={
 
 -             'num_str':t[0],
 
 -             'name_str':t[1],
 
 -             'class_str':t[2],
 
 -             'sex_str':t[3],
 
 -             'age_str':t[4],
 
 -             'phone_str':t[5],
 
 -             'qq_str':t[6],
 
 -             'addr_str':t[7]
 
 -         }
 
 -         card_list.append(card_dict)
 
 -         print('学生信息导入成功!')
 
 -         fr.close()
 
  
- def save_info():
 
 -     fw=open("student.tex",'w')
 
 -     fw.write(" ",join(headline))
 
 -     for i in range(len(card_list)):
 
 -         fw.write(card_list[i]["num_str"]+"\t")
 
 -         fw.write(card_list[i]["name_str"]+"\t")
 
 -         fw.write(card_list[i]["class_str"]+"\t")
 
 -         fw.write(card_list[i]["sex_str"]+"\t")
 
 -         fw.write(card_list[i]["age_str"]+"\t")
 
 -         fw.write(card_list[i]["phone_str"]+"\t")
 
 -         fw.write(card_list[i]["qq_str"]+"\t")
 
 -         fw.write(card_list[i]["addr_str"]+"\n")
 
 -         print('学生信息保存成功!')
 
 -         fw.close()
 
  
- def show_menu():
 
 -     """显示菜单"""
 
 -     print()
 
 -     print('*'*70)
 
 -     print('欢迎使用【学生信息管理系统】')
 
 -     print()
 
 -     print('1.浏览全部')
 
 -     print('2.新增学生')
 
 -     print('3.搜索学生')
 
 -     print('4.修改学生')
 
 -     print('5.删除学生')
 
 -     print('6.保存信息')
 
 -     print('0.退出系统')
 
 -     print('*'*70)
 
 -     print()
 
  
- def new_student():
 
 -     """新增学生"""
 
 -     print('-'*70)
 
 -     print('新增学生')
 
 -     num_str=input('请输入学号:')
 
 -     name_str=input('请输入姓名:')
 
 -     class_str=input('请输入班级:')
 
 -     sex_str=input('请输入性别:')
 
 -     age_str=input('请输入年龄:')
 
 -     phone_str=input('请输入电话:')
 
 -     qq_str=input('请输入QQ:')
 
 -     addr_str=input('请输入地址:')
 
  
-     card_dict={   'num_str':num_str,
 
 -                   'name_str':name_str,
 
 -                   'class_str':class_str,
 
 -                   'sex_str':sex_str,
 
 -                   'age_str':age_str,
 
 -                   'phone_str':phone_str,
 
 -                   'qq_str':qq_str,
 
 -                   'addr_str':addr_str }
 
 -     card_list.append(card_dict)
 
 -     print('添加%s的信息成功'%name_str)
 
  
- def show_all():
 
 -     """显示所有学生信息"""
 
 -     print('-'*70)
 
 -     print('显示所有学生信息')
 
 -     if len(card_list) == 0:
 
 -         print('当前没有任何学生记录,请使用新增功能添加学生信息')
 
 -         return
 
 -     for name in ["学号","姓名","班级","年龄","电话","QQ","地址"]:
 
 -         print(name,"\t",end=" ")
 
 -         print(' ')
 
 -         print('-'*70)
 
 -         #遍历学生信息列表依次输出字典信息
 
 -     for card_dict in card_list:
 
 -         print('%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s'% (card_dict['num_str'],
 
 -                                              card_dict['name_str'],
 
 -                                              card_dict['class_str'],
 
 -                                              card_dict['sex_str'],
 
 -                                              card_dict['age_str'],
 
 -                                              card_dict['phone_str'],
 
 -                                              card_dict['qq_str'],
 
 -                                              card_dict['addr_str']))
 
  
- def search_student():
 
 -     """搜索学生信息"""
 
 -     print('-'*70)
 
 -     print('搜索学生信息')
 
 -     find_name = input('请输入搜索的姓名:')
 
 -     for i in range(len(card_list)):
 
 -          if find_name == card_list[i]['name_str']:
 
 -                print ("学号\t姓名\t班级\t性别\t年龄\t电话\tQQ\t地址")
 
 -                print('='*70)
 
 -                print('%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s' % (card_list[i]['num_str'],
 
 -                                                          card_list[i]['name_str'],
 
 -                                                          card_list[i]['class_str'],
 
 -                                                          card_list[i]['sex_str'],
 
 -                                                          card_list[i]['age_str'],
 
 -                                                          card_list[i]['phone_str'],
 
 -                                                          card_list[i]['qq_str'],
 
 -                                                          card_list[i]['addr_str']))
 
 -                break
 
 -     else:
 
 -         print('抱歉,没有找到%s'%find_name)
 
  
- def update_student():
 
 -     """修改学生信息"""
 
 -     find_num = input('请输入待修改学生学号:')
 
 -     for i in range(len(card_list)):
 
 -         if find_num == card_list[i]['num_str']:
 
 -             print("学号\t姓名\t班级\t性别\t年龄\t电话\tQQ\t地址")
 
 -             print('%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n'%(card_list[i]['num_str'],
 
 -                                                       card_list[i]['name_str'],
 
 -                                                       card_list[i]['class_str'],
 
 -                                                       card_list[i]['sex_str'],
 
 -                                                       card_list[i]['age_str'],
 
 -                                                       card_list[i]['phone_str'],
 
 -                                                       card_list[i]['qq_str'],
 
 -                                                       card_list[i]['addr_str']))
 
  
-             card_list[i]['name_str'] = input_info(card_list[i]['name_str'],'姓名:')
 
 -             card_list[i]['class_str'] = input_info(card_list[i]['class_str'], '班级:')
 
 -             card_list[i]['sex_str'] = input_info(card_list[i]['sex_str'], '性别:')
 
 -             card_list[i]['age_str'] = input_info(card_list[i]['age_str'], '年龄:')
 
 -             card_list[i]['phone_str'] = input_info(card_list[i]['phone_str'], '电话:')
 
 -             card_list[i]['qq_str'] = input_info(card_list[i]['qq_str'], 'QQ:')
 
 -             card_list[i]['addr_str'] = input_info(card_list[i]['addr_str'], '地址:')
 
 -             print('修改学生信息成功!!!')
 
 -             break
 
 -     else:
 
 -         print('抱歉,没有找到学号为%s的学生'%find_num)
 
  
- def input_info(dict_value,tip_message):
 
 -     """
 
  
-     :param dict_value: 字典中原有的值
 
 -     :param tip_message: 输入的提示文字
 
 -     :return: 如果用户输入了内容,就返回内容,负责返回字典中原有的值
 
 -     """
 
 -     result_str = input(tip_message)
 
 -     if len(result_str)>0:
 
 -             return result_str
 
 -     else:
 
 -         return dict_value
 
  
- def delete_student():
 
 -     """删除学生信息"""
 
 -     find_num = input('请输入待删除学生学号:')
 
 -     for i in range(len(card_list)):
 
 -         if find_num == card_list[i]['num_str']:
 
 -             del card_list[i]
 
 -         print('删除学生信息成功!!')
 
  
-         #以下为主程序
 
  
 
-         load_info()
 
 - def main():
 
 -         print("学生信息已导入!")
 
 -         while True:
 
 -             show_menu()
 
 -             action_str = input("请选择希望执行的操作:")
 
 -             print("你选择的操作是%s"%action_str)
 
 -             if action_str in ["1","2","3","4","5","6"]:
 
 -                 if action_str == "1":
 
 -                     show_all()
 
 -                 elif action_str == "2":
 
 -                     new_student()
 
 -                 elif action_str == "3":
 
 -                     search_student()
 
 -                 elif action_str == "4":
 
 -                     update_student()
 
 -                 elif action_str == "5":
 
 -                     delete_student()
 
 -                 elif action_str == "6":
 
 -                     save_info()
 
 -             elif action_str == "0":
 
 -                 print("欢迎再次使用【学生信息管理系统】:")
 
 -                 break
 
 -             else:
 
 -                 print("输入错误,请重新输入:")
 
 - if __name__ == '__main__':
 
 -     main()
 
  
 
 
  复制代码 |   
 
 
 
 |