记录日常学习,文件尚有不足之处需要改正

下面的这个网址是编译可运行的exe文件

https://download.csdn.net/download/valecalida/12026603

#!/usr/bin/python
# -*- coding: UTF-8-*-
# --author:valecalida--
# 主要以列表的功能实现,欢迎大家测试,提出您宝贵的意见
import sys
import os
import time
import xlwt
import xlrd
from pathlib import Path
user = {'vale':'111'}
Card_infos = []def menu():print("----------Business Card Management System----------")print("\t\t\t1.添加一个新的名片")print("\t\t\t2.删除一个名片")print("\t\t\t3.修改一个名片的信息")print("\t\t\t4.查询一个名片的信息")print("\t\t\t5.显示所有的名片的信息")print("\t\t\t6.删除备份的名片信息")print("\t\t\t7.退出系统")print("----------Business Card Management System----------")def add_card():print("请输入要添加的信息:")card_info = []name = input("\t\t请输入姓名:")qq_id = input("\t\t请输入QQ ID:")tel = input("\t\t请输入Telephone number:")card_info.append(name)card_info.append(qq_id)card_info.append(tel)Card_infos.append(card_info)print("正在新建,请稍后......")print("Done\n")def save_card():myfile = xlwt.Workbook()myfile_sheet = myfile.add_sheet('sheet1')title_info = [['姓名', 'QQ ID', 'Telephone number']]row = 0for card_info in Card_infos:col = 0if row == 0:for title in title_info:for t in title:myfile_sheet.write(row, col, t)col += 1continueelse:for card in card_info:myfile_sheet.write(row, col, card)col += 1row += 1myfile.save('Cards_Info.xls')def reload_data():global Card_infosCard_infos = []try:reload_file = xlrd.open_workbook("Cards_Info.xls")reload_file_sheet = reload_file.sheet_by_index(0)index_row = 0for line in range(reload_file_sheet.nrows):card = []if line == 0:index_row += 1continueelse:Card_infos.append(reload_file_sheet.row_values(index_row))# print(Card_infos)except Exception:passdef change_card():if Card_infos:change_card_input = input("请输入您要修改人的名字:")for info in Card_infos:if change_card_input == info[0]:name = input("请输入姓名:")qq_id = input("请输入QQ ID:")tel = input("请输入Tel number:")info[0] = nameinfo[1] = qq_idinfo[2] = telprint("正在修改,请稍后......\nDone\n")breakelse:print("系统中没有人叫:" + change_card_input)breakelse:print("系统里没有任何信息,无法进行修改\n")def del_card():if Card_infos:clear_choice = input("Enter 'a' to clear all;Enter 'n' to clear by name:")if clear_choice == 'a':Card_infos.clear()clear_info()elif clear_choice == 'n':del_name = input("请输入您要删除人的名字:")for info in Card_infos:if del_name == info[0]:Card_infos.remove(info)print("正在删除,请稍后....\nDone.\n")breakelse:print("系统里没有关于这个人的信息,请仔细核对")breakelse:print("请确定您的输入没有问题!\n")else:print("系统里没有任何信息,无法进行删除操作")def search_card():# print(Card_infos)name = []for lines in Card_infos:name.append(lines[0])# print(name)if len(Card_infos) > 0:search_choice = input("请输入你要查找人的名字:")if search_choice in name:index = name.index(search_choice)# print(index)# print((Card_infos[index])[0])print("\tName:" + (Card_infos[index])[0] + "\n\tQQ:" + (Card_infos[index])[1] + "\n\tTel num:" +(Card_infos[index])[2] + "\n")else:print("系统中没有人叫:" + search_choice + "\n")else:print("系统里没有任何信息,无法进行查询\n")def display_all():# print(Card_infos,type(Card_infos))if Card_infos:print("系统中现在有 %d 个名片信息" % (len(Card_infos)))for infos in Card_infos:print("第 %s 个是:" % (Card_infos.index(infos) + 1))print("\tName:" + str(infos[0]) + "\n\tQQ:" + str(infos[1]) + "\n\tTel num:" + str(infos[2]) + "\n")else:print("系统里没有任何名片信息.\n")def turn_off():print("正在退出...")sys.exit()def guest():user_name = input("请输入您的名字:")user_pass = input("请输入您的密码:")if user_name in user_name and user_pass == user.get(user_name):print("welcome to Business Card Management System:")detect_file()menu()else:print("请确认您的账号密码是否正确,请稍后再试。")exit()def detect_file():path = os.getcwd()myfile = Path(path + '\\''Cards_Info.xls')# print(myfile)if myfile.is_file():print("\t\t检测到有之前保存的名片信息,正在载入...")time.sleep(1)print("载入成功!")else:print("没有存储的信息,将直接进入系统!")return myfile.is_file()def clear_info():filename = os.listdir()if 'Cards_Info.xls' in filename:try:retcode = os.system("del Cards_Info.xls")if retcode == 0:print("已清空!")else:print("清理过程中好像出现了一点问题,请手工核对一下。")except Exception:passelse:print("系统没有备份文件,无需进行删除操作!")def main():reload_data()guest()while True:try:flag = Truewhile flag:operate_code = int(input("请输入要进行的操作:"))if 0 < operate_code <= 7:# return operate_codeflag = Falseelse:print("请输入1-7中间的值")except ValueError:print("请确定您的输入符合输入标准\n")else:if operate_code == 1:add_card()save_card()elif operate_code == 2:del_card()save_card()elif operate_code == 3:change_card()save_card()elif operate_code == 4:search_card()elif operate_code == 5:display_all()elif operate_code == 6:print("清除过程中不会影响程序正在占用的数据!.")clear_info()elif operate_code == 7:# print(Card_infos)turn_off()if __name__ == "__main__":main()

一个文件版的名片管理系统(Python3)相关推荐

  1. python函数案例名片管理器_python案例:实现一个函数版的名片管理系统

    本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...

  2. python函数编写名片_python案例:实现一个函数版的名片管理系统

    本案例使用了自定义函数以及对字符串的常见操作.判断语句和循环语句等知识. 要求 必须使用自定义函数,完成对程序的模块化. 名片信息至少包括:姓名.电话.住址. 必须完成的功能:增.删.改.查.退出. ...

  3. python简单名片管理器,一个简单的Python名片管理系统

    字符串和列表学完,自己试着写了一个非常简单的Python名片管理系统. 新萌尝试,大佬们不要喷. 修改名片的功能我偷了个懒,因为我不知道怎么通过定义下标,然后通过下标来修改列表内的字符串. 我的思路是 ...

  4. 文件管理系统(文件版)

    上次做的文件管理系统因为使用列表存放数据,结束即会从内存清空,所以我们这次做一个文件版的 stu_f = "students.txt"def show_menu():print(& ...

  5. JUnit单元测试简版的学生管理系统

    JUnit的作用是:在庞大的程序项目中,要测试一个功能模块,不需要将整个庞大的项目都运行,只需要将需要测试的功能块进行JUnit测试就行 非常的方便,也很清晰,提高的开发的速度. 目前普遍使用的JUn ...

  6. Python:名片管理系统

    字符串和列表学完, 自己试着写了一个非常简单的名片管理系统, 新萌尝试, 大佬们不要喷, 修改名片的功能我偷了个懒, 因为我不知道怎么通过定义下标,然后通过下标来修改列表内的字符串 我的思路是,把用户 ...

  7. python3实现名片管理系统(文件版)

    def menu():#首先定义功能列表函数menu()print(" 名片管理系统 V1.0 ")print("1:增加新用户")print("2: ...

  8. day 5 名片管理系统-文件版

    1.添加__name__ == '__main__' if __name__ == "__main__": #添加__name__变量#调用主函数main() 2.添加6功能,保存 ...

  9. Python 名片管理系统(文件版,可存档读档)

    Python 名片管理系统(文件版,可存档读档) 相比于函数版的程序,文件版增加了存档读档操作 函数版的可以参考Python名片管理系统(列表.字典和函数的综合应用) 以下是新增部分的代码(不包括调用 ...

  10. Python版名片管理系统源代码

    Python版名片管理系统,功能: 新增名片(记录用户的姓名,电话,QQ,邮箱): 显示所有名片: 查询名片: 查询成功后可以修改,删除名片 运行截图: cards_main.py :程序的入口,完整 ...

最新文章

  1. 【全网之最】全网最简单语句判断网页是否在移动端(手机端、PAD)打开
  2. Python开发【Part 4】:数据类型操作
  3. TWaver HTML5 + Node.js + express + socket.io + redis(六)
  4. Git命令按人统计提交次数和代码量
  5. 【线上分享】音频多麦盲分技术
  6. 又一位…8月,痛失6位院士!
  7. python实验二报告_20172304 2019-2020-2 《Python程序设计》实验二报告
  8. Spring boot入门(三):集成AdminLTE(Freemarker),结合generate代码生成器,利用DataTable和PageHelper分页...
  9. linux不同机器之间的拷贝,Linux下不同机器之间的文件拷贝
  10. 华为系列设备优先级总结(二)
  11. c语言中开方,C++_详细解析C语言中的开方实现,关于C语言中的开方计算,首先 - phpStudy...
  12. Python简单实现微博自动点赞
  13. 计算机桌面文件如何发送给qq好友,怎么把电脑里的文件夹发给qq好友
  14. 06MyBatis Plus
  15. Android开发什么该做、什么不该做,你真的知道吗?
  16. WPF之NPOIE导出xcel
  17. ps、ai超强辅助类插件,神器一样的存在
  18. “创药网”-创新药领域专业资讯网站​
  19. MPLS LDP基础
  20. 软件测试理论与经验--阅读笔记

热门文章

  1. 自然语言处理——语言模型(二)
  2. 白板推导系列Pytorch-PCA降维
  3. 数据标准是物联网大集成应用的核心
  4. 曾经的8848,远离真实的代价
  5. 博文视点在SD2.0大会上以书会友
  6. TransformerEncoder
  7. 3.4 RNN网络扩展:堆叠RNN、递归神经网络、图网络
  8. 机器学习中的数学(二):参数估计与似然函数(MLE)
  9. html包含头尾文件_Html介绍及工具下载
  10. Linux 下面解压.tar.gz 和.gz文件解压的方式