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的内存泄漏及gc模块的使用分析
Jul 16 Python
用Python实现一个简单的能够上传下载的HTTP服务器
May 05 Python
Python中的ctime()方法使用教程
May 22 Python
怎样使用Python脚本日志功能
Aug 14 Python
Python实现购物程序思路及代码
Jul 24 Python
详解Python 正则表达式模块
Nov 05 Python
Python实现语音识别和语音合成功能
Sep 20 Python
简单了解Django ORM常用字段类型及参数配置
Jan 07 Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 Python
Python自省及反射原理实例详解
Jul 06 Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 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
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
js查错流程归纳
2012/05/04 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
基于python3实现socket文件传输和校验
2018/07/28 Python
Python实现多级目录压缩与解压文件的方法
2018/09/01 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
特步官方商城:Xtep
2017/03/21 全球购物
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
介绍java中初始化块的使用
2012/09/11 面试题
毕业生求职的求职信
2013/12/05 职场文书
小区门卫工作职责
2013/12/14 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
挂牌仪式主持词
2014/03/20 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
公务员中国梦演讲稿
2014/08/19 职场文书
高中生军训感言
2015/08/01 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript