• 系统结构实践第五次作业


    Python环境搭建以及程序运行

    1.Python环境搭建

    拉取python3.7的镜像

    docker pull python:3.7
    

    建立python目录以及dockerfile文件等

    dockerfile:

    FROM python:3.7
    WORKDIR /usr/src/app
    COPY requirements*.txt ./
    
    # 修改源并安装依赖
    RUN pip install -r requirements.txt -i https://pypi.douban.com/simple 
    
    ENTRYPOINT ["python"]
    CMD ["hello.py"]
    


    requirements.txt

    PyMySQL
    opencv-python
    


    使用docker build -t python:3 .

    3.运行代码

    1.hello.py

    print("hello world")
    

    2.date.py

    import calendar
    yy = int(input("输入年份: "))
    mm = int(input("输入月份: "))
    print(calendar.month(yy,mm))
    


    3.opencv.py

    4.mysql_db.py

    import pymysql
    
    class Mysql_db():
    
        def __init__(self,ip,username,password,db_name,table_name):
    
            self.ip=ip
            self.username=username
            self.password=password
            self.db_name=db_name
            self.table_name=table_name
    
        def db_conn(self):
    
            #打开数据库连接
            self.conn=pymysql.connect(self.ip,self.username,self.password,self.db_name)
    
            #创建一个游标
            self.cursor=self.conn.cursor()
    
        #创建表格
        def create_table(self,sql):
    
            self.cursor.execute('drop table if exists %s;' %self.table_name)
    
            self.cursor.execute(sql)
    
        #插入数据
        def insert_data(self,sql):
            #执行SQL语句,发生错误时回滚
            try:
                self.cursor.execute(sql)
                self.conn.commit()
    
            except :
                self.conn.rollback()
    
        #查询数据
        def select_all(self):
    
            sql='select * from %s' %self.table_name
            self.cursor.execute(sql)
            return self.cursor.fetchall()
    
        #更新数据库数据
        def update_data(self):
            #执行SQL语句,发生错误时回滚
            try:
                self.cursor.execute(sql)
                self.conn.commit()
    
            except :
                self.conn.rollback()        
    
        #删除数据
        def delete_data(self):
            #执行SQL语句,发生错误时回滚
            try:
                self.cursor.execute(sql)
                self.conn.commit()
    
            except :
                self.conn.rollback()
    
    
        #关闭数据库
        def conn_close(self):
    
            self.conn.close()
    

    sql.py

    from mysql_db import Mysql_db
    
    ip='msql'          #容器名
    username='ivan145'         #用户名
    password='123456'      #密码
    db_name='docker_mysql' #数据库名
    table_name='user2'    #表名
    db=Mysql_db(ip, username, password, db_name,table_name)
    
    db.db_conn()
    sql='''
            create table %s (
                id varchar(10) primary key,
                name varchar(20)
            );
    '''%table_name
    db.create_table(sql)
    sql1="insert into %s values(145,'ivan');" %table_name
    db.insert_data(sql1)
    
    print(db.select_all())
    
    db.conn_close()
    


  • 相关阅读:
    jquery radio set checked.
    Java Reflect
    Java Collection
    hashcode and equals
    Statement VS PrepareStatement
    第十六章 调试及安全性(In .net4.5) 之 调试程序
    第十五章 调试及安全性(In .net4.5) 之 管理程序集
    第十四章 调试及安全性(In .net4.5) 之 对称及非对称加密
    第十三章 调试及安全性(In .net4.5) 之 验证程序输入
    第十二章 管理类型(In .net4.5) 之 操作字符串
  • 原文地址:https://www.cnblogs.com/mlz031702145/p/12935112.html
Copyright © 2020-2023  润新知