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 相关文章推荐
pymongo实现多结果进行多列排序的方法
May 16 Python
python实现批量下载新浪博客的方法
Jun 15 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
Python实现上下班抢个顺风单脚本
Feb 07 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
python框架中flask知识点总结
Aug 17 Python
Python的高阶函数用法实例分析
Apr 11 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 Python
使用Django的JsonResponse返回数据的实现
Jan 15 Python
pycharm代码删除恢复的方法
Jun 26 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中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
php检查字符串中是否包含7位GSM字符的方法
2015/03/17 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
2015/06/26 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
基于vue实现分页效果
2017/11/06 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
Python使用minidom读写xml的方法
2015/06/03 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
pycharm快捷键汇总
2020/02/14 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
python excel和yaml文件的读取封装
2021/01/12 Python
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
妇产医师自荐信
2014/01/29 职场文书
艺术节开幕词
2015/01/28 职场文书
创业计划书之甜品店
2019/09/18 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
Python 数据可视化之Matplotlib详解
2021/11/02 Python