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中列表元素连接方法join用法实例
Apr 07 Python
详解python时间模块中的datetime模块
Jan 13 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
安装Python的教程-Windows
Jul 22 Python
python 中的list和array的不同之处及转换问题
Mar 13 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
python代码编写计算器小程序
Mar 30 Python
微信小程序python用户认证的实现
Jul 29 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
May 08 Python
Python使用configparser读取ini配置文件
May 25 Python
Python中关于logging模块的学习笔记
Jun 03 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读取数据库信息的几种方法
2008/05/24 PHP
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
2011/10/08 PHP
PHP简单获取视频预览图的方法
2015/03/12 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
2016/10/25 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
PHP时间戳和日期相互转换操作实例小结
2018/12/18 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
JavaScript 密码强度判断代码
2009/09/05 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
python实现批量修改文件名代码
2017/09/10 Python
keras 多任务多loss实例
2020/06/22 Python
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
兼职业务员岗位职责
2014/01/01 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
真诚的求职信
2014/07/04 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
Node.js实现断点续传
2021/06/23 Javascript
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers