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 相关文章推荐
简单的Python2.7编程初学经验总结
Apr 01 Python
centos6.7安装python2.7.11的具体方法
Jan 16 Python
Python标准库笔记struct模块的使用
Feb 22 Python
Python键盘输入转换为列表的实例
Jun 23 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
python如何获取apk的packagename和activity
Jan 10 Python
python读取图片的几种方式及图像宽和高的存储顺序
Feb 11 Python
python如何写出表白程序
Jun 01 Python
Keras 切换后端方式(Theano和TensorFlow)
Jun 19 Python
利用PyTorch实现VGG16教程
Jun 24 Python
Django实现文章详情页面跳转代码实例
Sep 16 Python
记录一下scrapy中settings的一些配置小结
Sep 28 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
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
JavaScript 学习笔记(十一)
2010/01/19 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
在Python中使用正则表达式的方法
2015/08/13 Python
剖析Python的Twisted框架的核心特性
2016/05/25 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
Python小进度条显示代码
2019/03/05 Python
通过shell+python实现企业微信预警
2019/03/07 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
阿巴庭院:Abba Patio
2019/06/18 全球购物
草莓网官网:StrawberryNET
2019/08/21 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
教师三严三实学习心得体会
2014/10/11 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
浅析JavaScript中的变量提升
2022/06/01 Javascript