系统综合实验第五次作业

文件架构

.
├── 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)

posted @ 2020-05-22 19:01  牧分丶  阅读(118)  评论(0编辑  收藏  举报