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实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 Python
Python3安装Pymongo详细步骤
May 26 Python
python 实现上传图片并预览的3种方法(推荐)
Jul 14 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
python实现简单淘宝秒杀功能
May 03 Python
pandas将numpy数组写入到csv的实例
Jul 04 Python
Python爬虫文件下载图文教程
Dec 23 Python
用Python写一个自动木马程序
Sep 17 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
python实现FTP循环上传文件
Mar 20 Python
python nohup 实现远程运行不宕机操作
Apr 16 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实现维护文件代码
2007/06/14 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
PHP正则获取页面所有图片地址
2016/03/23 PHP
PHP ADODB生成下拉列表框功能示例
2018/05/29 PHP
window.location.hash 使用说明
2010/11/08 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
js判断浏览器类型的方法
2013/08/07 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
python远程登录代码
2008/04/29 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
python机器学习之神经网络(三)
2017/12/20 Python
python 常用的基础函数
2018/07/10 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
python实现词法分析器
2019/01/31 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
flask框架路由常用定义方式总结
2019/07/23 Python
python中字典增加和删除使用方法
2020/09/30 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
幼儿运动会邀请函
2014/01/17 职场文书
高一军训的心得体会
2014/09/01 职场文书
钳工实训报告总结
2014/11/04 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
企业团队精神心得体会
2016/01/19 职场文书
golang json数组拼接的实例
2021/04/28 Golang
python实现股票历史数据可视化分析案例
2021/06/10 Python
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL