Python数据库小程序源代码


Posted in Python onSeptember 15, 2019

源代码:

# dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素
dict1 = {'sort':0 , 'name':1 ,'age':2 ,'phone':3 ,'job':4 }
#将最后需要打印的信息转成列表的形式
def p_message(m1):
  if '*' in m1:
    m1 = dict1.keys()
    return m1
  m1 = m1.split(',')
  for i in range(len(m1)):
    m1[i] =m1[i].strip()
  return m1
#遍历文件信息,将其转化成列表的形式
#将函数转化成生成器,好处是不用一次将文件信息全部传入内存,而是用多少传多少
def op_file(m2):
  m2 = m2.strip()
  with open(m2 ,encoding='utf=8')as f:
    for line in f:
      line = line.strip()
      line = line.split(',')
      yield line

#进行条件筛选
def choose(pp1 ,m3):
  lis = []
  m3 = m3.strip()
  if '>' in m3:
    c1 ,c2 = m3.split('>')
    c1 = c1.strip()
    c2 = c2.strip()
    g = op_file(m2)
    for line_lis in g:
      if int(line_lis[dict1[c1]]) > int(c2):
        li = []
        for l_list in pp1:
          li.append(line_lis[dict1[l_list]])
        lis.append(li)
    for i in lis:
      print(i)
  if '<' in m3:
    c1,c2 = m3.split('<')
    c1 = c1.strip()
    c2 = c2.strip()
    g = op_file(m2)
    for line_lis in g:
      if int(line_lis[dict1[c1]]) < int(c2):
        li = []
        for l_list in pp1:
          li.append(line_lis[dict1[l_list]])
        lis.append(li)
    for i in lis:
      print(i)
  if '=' in m3:
    c1, c2 = m3.split('=')
    c1 = c1.strip()
    c2 = c2.strip()
    g = op_file(m2)
    for line_lis in g:
      if c2 in line_lis[dict1[c1]]:
        li = []
        for l_list in pp1:
          li.append(line_lis[dict1[l_list]])
        lis.append(li)
    for i in lis:
      print(i)
#分析输入的条件信息
while 1:
  message = input('>>>')
  # message = 'select name ,age from info where age > 22 '
  # m1 : 我们所要最后打印的信息 m2 : 文件名 m3 : 筛选条件
  m1 , m3 = message.split('where')
  m1 , m2 = m1.split('from')
  m1 = m1.replace('select',' ').strip()

  #pp1 是 修改完的m1
  pp1 = p_message(m1)
  op_file(m2)
  choose(pp1 ,m3)

文件内容:

1,Alex,22,13651054608,IT
2,Egon,23,13304320533,Tearcher
3,nezha,25,1333235322,IT

总结

以上所述是小编给大家介绍的Python数据库小程序源代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
Python 分析Nginx访问日志并保存到MySQL数据库实例
Mar 13 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
django2 快速安装指南分享
Jan 05 Python
Python模块搜索路径代码详解
Jan 29 Python
在mac下查找python包存放路径site-packages的实现方法
Nov 06 Python
python替换字符串中的子串图文步骤
Jun 19 Python
python实现数据分析与建模
Jul 11 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
keras slice layer 层实现方式
Jun 11 Python
通过自学python能找到工作吗
Jun 21 Python
用Python提取PDF表格的方法
Apr 11 Python
python 远程执行命令的详细代码
Feb 15 Python
python中树与树的表示知识点总结
Sep 14 #Python
python树的同构学习笔记
Sep 14 #Python
python图形绘制奥运五环实例讲解
Sep 14 #Python
python列表插入append(), extend(), insert()用法详解
Sep 14 #Python
postman传递当前时间戳实例详解
Sep 14 #Python
Python 经典算法100及解析(小结)
Sep 13 #Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 #Python
You might like
PHP输出一个等腰三角形的方法
2015/05/12 PHP
laravel model 两表联查示例
2019/10/24 PHP
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
JavaScript中奇葩的假值示例应用
2014/03/11 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
2014/04/03 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
2017/07/17 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
关于微信小程序map组件z-index的层级问题分析
2019/07/09 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
python 定义给定初值或长度的list方法
2018/06/23 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
tensorflow 加载部分变量的实例讲解
2018/07/27 Python
python 日期排序的实例代码
2019/07/11 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
写自荐信的七个技巧
2013/10/15 职场文书
少年闰土教学反思
2014/02/22 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
武侯祠导游词
2015/02/04 职场文书
逃课检讨书范文
2015/05/06 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
Python字典和列表性能之间的比较
2021/06/07 Python