zoukankan      html  css  js  c++  java
  • 2018年5月29日笔记

      本地已有一个单词本文件 "dictionary.txt",编写脚本实现单词的模糊查询功能

    • 1)连接到mysql上并定义表dictionary的表结构
     1 from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String
     2 
     3 
     4 engine = create_engine('mysql+pymysql://root:passwd123@192.168.0.1/sqlalchemy')
     5 
     6 metadata = MetaData(engine)
     7 
     8 dictionary = Table('dictionary', metadata,
     9              Column('id', Integer, primary_key=True),
    10              Column('key', String(50)),
    11              Column('value', String(50))
    12              )
    13 
    14 metadata.create_all(engine)
    • 2)将dictionary.txt录入至dictionary这张表中
     1 import codecs
     2 from sqlalchemy import Integer, Column, String, create_engine
     3 from sqlalchemy.ext.declarative import declarative_base
     4 from sqlalchemy.orm import sessionmaker
     5 
     6 
     7 
     8 engine = create_engine('mysql+pymysql://root:passwd123@192.168.0.1/sqlalchemy?charset=utf8')
     9 
    10 Base = declarative_base()
    11 class Dictionary(Base):
    12     __tablename__ = 'dictionary'
    13     id = Column(Integer, primary_key=True)
    14     key = Column(String(50))
    15     value = Column(String(50))
    16 
    17 DBSession = sessionmaker(bind=engine)
    18 session = DBSession()
    19 
    20 
    21 
    22 class HandleData(object):
    23     def __init__(self, dataFile):
    24         self.dataFile = dataFile
    25     def make_data_to_str(self):
    26         with codecs.open(self.dataFile, encoding='utf-8') as file:
    27             for (num, value) in enumerate(file):
    28                 line = value.strip().split()
    29                 diction = Dictionary(id=num+1, key=line[0], value=line[1])
    30                 session.add(diction)
    31         session.commit()
    32 
    33 
    34 handleData = HandleData('dictionary.txt')
    35 handleData.make_data_to_str()
    36 session.close()
    • 3)根据用户输入的英文单词进行模糊查询
     1 from sqlalchemy import create_engine, Integer, Column, String
     2 from sqlalchemy.ext.declarative import declarative_base
     3 from sqlalchemy.orm import sessionmaker
     4 
     5 engine = create_engine('mysql+pymysql://root:passwd123@192.168.0.1/sqlalchemy?charset=utf8')
     6 
     7 Base = declarative_base()
     8 class Dictionary(Base):
     9     __tablename__ = 'dictionary'
    10     id = Column(Integer, primary_key=True)
    11     key = Column(String(50))
    12     value = Column(String(50))
    13 
    14 DBSession = sessionmaker(bind=engine)
    15 session = DBSession()
    16 
    17 word = input("please input your a word:")
    18 result =session.query(Dictionary).filter(Dictionary.key.like("%{0}%".format(word))).all()
    19 for each in result:
    20     print(each.id, each.key, each.value)
  • 相关阅读:
    视图组件之开关按钮
    单选框与复选框的实现
    String、StringBuffer 、StringBuilder 的区别(转)
    布局管理器之相对布局(二)
    布局管理器之相对布局(一)
    帧布局 FrameLayout
    表格布局TableLayout
    布局管理器中的线性布局
    36选7
    冒泡
  • 原文地址:https://www.cnblogs.com/karl-python/p/9114161.html
Copyright © 2011-2022 走看看