zoukankan      html  css  js  c++  java
  • 系统综合实验第五次作业

    文件架构

    .
    ├── app
    │   ├── connect.py
    │   ├── cvv.py
    │   ├── date.py
    │   ├── hello.py
    │   └── picture.jpg
    ├── Dockerfile
    └── requirements.txt
    

    构建python镜像

    • requirements.txt
    PyMySQL
    opencv-python
    
    • Dockerfile
    FROM python
    WORKDIR /app     
    #工作目录
    COPY ./requirements.txt /requirements.txt FROM python
    MAINTAINER y00
    WORKDIR /app     
    #工作目录
    COPY ./requirements.txt /requirements.txt  
    #添加依赖文件
    RUN pip install -r /requirements.txt -i https://pypi.douban.com/simple  
    #修改源并安装依赖
    ENTRYPOINT [ "python" ]  
    # 实现命令行式调用容器
    CMD [ "hello.py" ]  
    #设置ENTRYPOINT默认参数
    RUN pip install -r /requirements.txt -i https://pypi.douban.com/simple  
    #修改源并安装依赖
    ENTRYPOINT [ "python" ]  
    # 实现命令行式调用容器
    CMD [ "hello.py" ]  
    #设置ENTRYPOINT默认参数
    
    • 在当前目录构建镜像
      sudo docker build -t docker-python .

    简单程序的部署运行

    • hello world
    # hello.py
    print('hello world')
    
    sudo docker run --rm -v /home/lhw/work5/app:/app docker-python hello.py
    

    • 日历输出
    # date.py
    import calendar
    yy = int(input("输入年份: "))
    mm = int(input("输入月份: "))
    print(calendar.month(yy,mm))
    

    • 数据库操作

    连接数据库并返回版本

    #mysql1.py
    #!/usr/bin/python3
     
    import pymysql
     
    # 打开数据库连接
    db = pymysql.connect(host="mysql",user="root",password="123456",database="myDB" )
    
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
     
    # 使用 execute()  方法执行 SQL 查询 
    cursor.execute("SELECT VERSION()")
     
    # 使用 fetchone() 方法获取单条数据.
    data = cursor.fetchone()
     
    print ("Database version : %s " % data)
     
    # 关闭数据库连接
    db.close()
    

    新建表

    #mysql2.py
    #!/usr/bin/python3
     
    import pymysql
     
    # 打开数据库连接
    db = pymysql.connect(host="mysql",user="root",password="123456",database="myDB" )
     
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
     
    # 使用 execute() 方法执行 SQL,如果表存在则删除
    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
     
    # 使用预处理语句创建表
    sql = """CREATE TABLE EMPLOYEE (
             FIRST_NAME  CHAR(20) NOT NULL,
             LAST_NAME  CHAR(20),
             AGE INT,  
             SEX CHAR(1),
             INCOME FLOAT )"""
     
    cursor.execute(sql)
     
    # 关闭数据库连接
    db.close()
    

    • opencv程序
      函数 cv2.moments() 会将计算得到的矩以一个字典的形式返回
    #cvv.py
    import cv2
    import numpy as np
    
    img = cv2.imread('picture.jpg',0)
    ret,thresh = cv2.threshold(img,127,255,0)
    contours,hierarchy = cv2.findContours(thresh, 1, 2)
    
    cnt = contours[0]
    M = cv2.moments(cnt)
    print (M)
    

  • 相关阅读:
    由浅入深——从ArrayList浅谈并发容器
    Lambda表达式
    JVM初体验
    Redis主从复制
    Redis事务
    Redis基本命令
    Redis概述与安装
    Linux之SSH免密登录
    源码安装Nginx以及用systemctl管理
    CentOS 7 :Failed to start IPv4 firewall with iptables.
  • 原文地址:https://www.cnblogs.com/lhwblogs/p/12939099.html
Copyright © 2011-2022 走看看