zoukankan      html  css  js  c++  java
  • 2020系统综合实践 第5次实践作业

    一、项目结构

    建立如下文件(其中test-rotated.jpg为opencv运行生成的图片)

    二、搭建python镜像

    1、requirements.txt

    PyMySQL
    opencv-python
    

    2、Dockerfile

    FROM python:3
    MAINTAINER yxy
    WORKDIR /app
    COPY ./requirements.txt /requirements.txt
    RUN pip install -r /requirements.txt -i https://pypi.douban.com/simple  #修改源并安装依赖
    ENTRYPOINT ["python"]
    CMD ["hello.py"] #默认打开文件
    

    3、 搭建镜像

    在python文件夹中打开终端,运行如下命令

    sudo docker build -t python:test1 . 
    

    三、Hello World

    # hello.py
    print('hello world')
    
    sudo docker run -it --rm -v /home/ubuntu/python/app:/app python:test1 hello.py
    

    --rm参数使得容器在运行后直接自动删除

    四、日历输出

    # date.py
    import calendar
    
    # 输入指定年月
    yy = int(input("输入年份: "))
    mm = int(input("输入月份: "))
    
    # 显示日历
    print(calendar.month(yy,mm))
    
    sudo docker run -it --rm -v /home/ubuntu/python/app:/app python:test1 date.py 
    

    五、mysql数据库操作

    未执行py文件前的docker_mysql数据库中test表内容

    db.py

    import pymysql
    
    # 打开数据库连接
    db = pymysql.connect("sql", "docker", "111111", "docker_mysql")
    #创建游标对象
    
    cursor = db.cursor()
    
    #SQL插入语句
    sql="""insert test(id,name,sex)
    	values(031700000,'Lin','male')"""
    cursor.execute(sql)
    db.commit()
    
    #插入完成后再读取一次数据库数据
    sql = """select * FROM test"""
    cursor.execute(sql)
    results = cursor.fetchall()
    print(results)
    
    # 关闭数据库连接
    
    db.close()
    

    执行py文件

    sudo docker run -it --rm -v /home/ubuntu/python/app:/app --link=sql:sql python:test1  db.py
    

    执行py文件后的docker_mysql数据库中test表内容

    六、opencv程序

    #做一个图片翻转功能
    import cv2
    img=cv2.imread('test.jpg',flags=1)
    rows,cols=img.shape[:2]
    M=cv2.getRotationMatrix2D((cols/2,rows/2),90,1)
    dst=cv2.warpAffine(img,M,(cols,rows))
    cv2.imwrite("test-rotated.jpg", dst, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
    print('rotated and saved.')
    
    sudo docker run -it --rm -v /home/ubuntu/python/app:/app  python:test1 op.py 
    

    七、实验总结

    难度比之前的几次实验要小,大约花费4个小时

  • 相关阅读:
    asp.net tutorial(http://www.cnblogs.com/mqingqing123/archive/2006/04/16/376358.html)
    CSS五日教程 (reference to http://www.tuqiu.com/study/css/day1_1.php)
    CSS教程 http://www.lnnu.edu.cn/dandu/hqcy/internet/jiaocheng/css/css.htm
    关于Spoolsv.exe
    理解MVC
    Design Patterns(十五):Command PatternVB代码
    Design Patterns(十六):Interpreter PatternVB代码
    Design Patterns(十三):Proxy PatternVB代码
    Design Patterns(二十):Observer PatternVB代码
    【转】VB中动态编程的技巧和挑战:多重分派
  • 原文地址:https://www.cnblogs.com/yxyolo/p/12934074.html
Copyright © 2011-2022 走看看