1.实验前准备
docker pull python 3.7 docker run -it -v $PWD:/usr/src/myapp -w /usr/src/myapp python:3.7 /bin/bash #运行python容器 ,将工作目录挂载到当前目录 pip install PyMySQL #下载连接mysql的库 pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple #从清华源下载opencv库 #下载一张图片并命名为1.jpg
2.Hello World!
- 在本地创建helloworld.py
print("Hello World!")
- 运行helloworld程序
python helloworld.py #接下来程序的运行都是如此
3.日历输出
- calendartest.py
import calendar # 输入指定年月 yy = int(input("输入年份: ")) mm = int(input("输入月份: ")) # 显示日历 print(calendar.month(yy,mm))
4.mysql操作
- 运行mysql,并创建数据库和表格
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7 docker exec -it e44d6622d09d /bin/bash #一定要先后天运行在转到前台,否则不能登录 mysql -u root -p create datebase student; use student create table grade1 (num int , name varchar(20),primary key(num)); #创建数据表 insert into grade1(num,name) value(123456 , 'xhj'); #插入数据 select * from grade1;
- connectdb.py
import pymysql # 打开数据库连接 db = pymysql.connect(host='10.0.2.15',port=3306,user='root',passwd='123456',db='student') #host使用自己的ip就可以 # 使用 cursor() 方法创建一个游标对象 cursor cursor = db.cursor() # 使用 execute() 方法执行 SQL 查询 try: cursor.execute("select * from grade1;") #执行 results = cursor.fetchall() for row in results: num = row[0] name = row[1] # 打印结果 print ("num=%d , name=%s" % (num,name )) except: print("Error: unable to fetch data") # 关闭数据库连接 db.close()
5. opencv操作
- opencv-operation.py
import cv2 # 生成图片 img = cv2.imread("1.jpg") # 生成灰色图片 imgGrey = cv2.imread("1.jpg", 0) # 展示原图 ,下面这句话得注释掉 #cv2.imshow("img", img) # 展示灰色图片 ,因为docker不支持图形显示所以这个地方要注释掉 #cv2.imshow("imgGrey", imgGrey) # 等待图片的关闭 cv2.waitKey() # 保存灰色图片 cv2.imwrite("Copy.jpg", imgGrey)
- 原图片
- 运行代码后保存的灰色图片
6.碰到的问题以及所花的时间
问题描述:
刚开始我使用数据库一直登陆不上去,如图
而且使用python连接数据库也是登陆不上
问题解决
mysql镜像的运行得先将mysql挂到后台运行之后使用exec命令进入mysql操作,否则就会出现这样的情况,具体解决方法见mysql部分。
所花的时间
实验:2小时
改错:1小时
博客:0.5小时
总计:3.5小时