column_dic = {"id": 0, "name": 1, "age": 2, "phone": 3, "job": 4}

def get_show_list(col_condition): # "select age,name"

"""

获取要展示的列名

:param col_condition: 用户输入的select条件

:return: 列名组成的列表

"""

col_info_list = col_condition.strip().split("select") # ["", "age,name"]

col_info_list = [col_info_item for col_info_item in col_info_list if col_info_item.strip()] # ["age,name"]

if col_info_list:

col_info = col_info_list[0].strip() # "age,name"

if "*" in col_info:

return column_dic.keys()

elif col_info:

ret = col_info.split(",") # [" age ","name"]

return [item.strip() for item in ret] # ["age","name"]

else:

print(col_info)

def filter_handler(operate, con): # ">" , "age>22"

selected_list = []

col, val = con.split(operate)

col = col.strip()

val = val.strip()

judge = "int(line_list[column_dic[col]]) %s int(val)" % operate if operate == "" \

else "line_list[column_dic[col]] %s val" % operate

f = open("student", encoding="utf-8")

for line in f:

line_list = line.strip().split(",")

if eval(judge):

selected_list.append(line_list)

f.close()

return selected_list

def get_selected_line(con): # con = "age>22"

"""

获取要查找的行,并将每一行作为列表项存储到selected_list

:param con:

:return:

"""

if ">" in con:

selected_list = filter_handler(">", con)

elif "

selected_list = filter_handler("

elif "=" in con:

selected_list = filter_handler("==", con.replace("=", '=='))

elif "like" in con:

selected_list = filter_handler("in", con)

return selected_list

def show(selected_list, show_list):

for selected_item in selected_list:

for col in show_list:

print(selected_item[column_dic[col]], end=" ")

print()

condition = input(">>>") # "select age,name where age>22"

ret = condition.split('where') # ["select age,name", "age>22"]

con = ret[1].strip() # "age>22"

show_list = get_show_list(ret[0]) # ["name", "age"]

selected_list = get_selected_line(con)

show(selected_list, show_list)

python实现通讯录的增删改查_python实现数据库增删改查相关推荐

  1. python数据库增删改查_python实现数据库增删改查

    column_dic = {"id": 0, "name": 1, "age": 2, "phone": 3, &quo ...

  2. mysql数据库增删改查关键字_MySQL数据库(增删改查语句)

    MySQL数据库(增删改查语句) 一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码) 二.SQL语句: 数据定义语言DDL  用来定义数据库.表.列,关键 ...

  3. python列表增删改查_Python列表List增删改查、拷贝

    列表的介绍 一.什么是列表 列表是可以存储不同类型数据的有序.可变的存储容器. 二.列表的格式 定义列的格式: [元素1,元素2,元素3,...,元素n] 定义变量名为arr的列表 arr=[1,'你 ...

  4. python数据库的增删改查_Python|实现数据库的增删改查

    Python|实现数据库的增删改查 2020-10-05 1 前言最近在学flask网页制作,需要用到数据库相关知识,在经过初步学习后实现了用python来实现数据库的相关操作,即增删改查.2 前提条 ...

  5. python list增删改查_Python 基础list 增删改查 解析

    一 增加 1 append 增加到最后一个列表 li = [ 1,3,4 ,'wang',] li.append('wangyan') print(li) [1, 3, 4, 'wang', 'wan ...

  6. python数据库增删改查_python对数据库mysql的操作(增删改查)

    #coding=utf-8 import pymysql # #查询 # def connMySQL(): # try: # conn=pymysql.connect('localhost','roo ...

  7. python增删改查_Python 列表的增删改查

    # 1. 新增 # lst = [] # lst.append("周杰伦") # 追加 在最后添加, 效率比较高 # lst.append("周芷若") # l ...

  8. lr mysql 增删改查_Python对MySQL进行增删查改

    #增删查改 from Practice_Recode.UserTest.User importUserimportpymysqldefopenDb():globaldb, cursor db= pym ...

  9. python实现通讯录功能课程设计报告_Python实现通讯录功能

    说实话,第一次写这么长的Python代码,期间遇到了很多问题,但是,最终还是完成了,花了我一天半的时间. 该程序实现了用户的增,删,改,查,主要用到sqlite3模块.对于该模块的知识点,请查看我的另 ...

最新文章

  1. 【边缘计算】对边缘计算的理解与思考
  2. windows 服务实现定时任务调度
  3. 求两个链表的第一个公共结点各种情况及三种思路分析
  4. 英特尔CEO:将在行业整合背景下大力收购半导体企业
  5. VirtualBox创建虚拟电脑、执行Genymotion模拟器报错
  6. LaTex 加粗(加黑)的方式
  7. windows 使用 tree 命令显示目录和文件
  8. java 中级面试题_java中级面试题
  9. HTML 邮件兼容问题与解决方案
  10. java通过txt读取迷宫地图_java寻找迷宫路径的简单实现示例
  11. 代码对比工具(beyondCompare/Winmerge/Meld)
  12. 工资条: EmailSender部分
  13. python词云代码手机_【云计算】爬取淘宝手机品牌词云分析(python)
  14. CentOS7 安装 Oracle XE 图文教程
  15. 服务器系统如何更新补丁,服务器更新操作系统补丁
  16. latex参考文献中修改指定作者的格式来突出显示
  17. DeFi对金融世界的变革|读麦道夫庞氏骗局有感
  18. 2018春招便利蜂--你的准备永远不能覆盖面试官的提问
  19. 联合循环——32 TN-C系统与TN-C-S接地系统和TN-S系统(二)
  20. app左右滑动滑块组件

热门文章

  1. Quartz使用总结(转)
  2. 类ThreadLocal的使用与源码分析
  3. IntelliJ IDEA设置代码提示(常用快捷键)
  4. Python之路【第六篇】:Python运算符
  5. Linux Shell处理文本最常用的工具大盘点
  6. 使用WiX制作具有时间限制的安装包
  7. 《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——2.3 直接映射高速缓存...
  8. Haproxy配置http模式负载均衡
  9. CentOS6.7安装Python3.4
  10. 基于FPGA的跨时钟域信号处理——专用握手信号