一、前言容器使用沙箱机制,互相隔离,优势在于让各个部署在容器的里的应用互不影响,独立运行,提供更高的安全性。本文主要介绍python应用(django)跑在docker容器里,编写dockerfile实现镜像构建自动化以及docker神器compose。二、编写Dockerfile文件官网下载的python镜像比较精简,web应用相关依赖还是需要自己安装的。编写Dockerfile,可以让你构建镜像的时候自动化。实例如下:FROMpython:3.6.4R
系统 2019-09-27 17:56:49 2251
前言Python提供给我们多种编码方式。在某种程度上,这相当具有包容性。来自于任何语言的人都可以编写Python。然而,学习写一门语言和以最优的方式写一门语言是两件不同的事情。在这一系列名为PythonShorts的文章中,我将阐述Python提供的一些简单但是非常有用的结构,一些小技巧以及一些我在数据科学工作中遇到的案例。在这篇文章中,我将讨论Python中的for循环,以及如何尽量避免使用它们。写for循环的3种方式:让我用一个简单的例子来解释下。假设
系统 2019-09-27 17:56:07 2251
python常用导入函数及其他操作备忘录python常用导入函数解压缩zip并读取csv文件查看缺失值权重系数取绝对值后排序(查看特征权重重要度)python常用导入函数fromIPython.displayimportdisplayimportnumpyasnpimportpandasaspdfrompandasimportSeries,DataFramefromPILimportImageimportmatplotlib.pyplotasplt%mat
系统 2019-09-27 17:55:18 2251
前言首先说下线性表,线性表是一种最基本,最简单的数据结构,通俗点讲就是一维的存储数据的结构。线性表分为顺序表和链接表:顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像;链式表示指的是用一组任意的存储单元存储线性表中的数据元素,称为线性表的链式存储结构。而他既可以是连续的也可以不连续,是通过一个与后继结点的连接信息构建起来的。*顺序表(这个不是本次重点,简单介绍一下)顺序表是用一段连续的存储单元依次存储数据元
系统 2019-09-27 17:53:51 2251
uwsg基础配置[uwsgi]#当前文件所处的文件夹chdir=%dproject_name=%cuser=@(exec://whoami)virtualenv=/home/keithl/workdir/python/pyenv/%(project_name)#loadaWSGImodulewsgi-file=wsgi_admin_handler.pymaster=true#setthesocketlistenqueuesizelisten=100#本机内
系统 2019-09-27 17:53:47 2251
Random随机掷骰子基础代码:importrandomdefroll_dice():roll=random.randint(1,6)returnrolldefmain():total_times=10#初始化列表[0,0,0,0,0,0]记录每个点出现的次数result_list=[0]*6foriinrange(total_times):roll=roll_dice()forjinrange(1,7):ifroll==j:result_list[j-1
系统 2019-09-27 17:53:35 2251
一、前言以前使用selenium的无头浏览器,自从phantomjs2016后慢慢不更新了之后,selenium也开始找下家,这时候谷歌的chrome率先搞出来无头浏览器并开放了各种api,随后firefox也开始做。现在selenium的测试也都支持这两个浏览器的无头模式了,只需要在引入的时候配置一下就可以了。之所以要采用谷歌chrome官方无头框架puppeteer的python版本pyppeteer,是因为有些网页是可以检测到是否是使用了seleni
系统 2019-09-27 17:52:58 2251
在整个学生选课系统里面,最核心的就是选课页面了。我们设定目标为:1、已经选修的课程,不能重复选修;2、每个学生最多可选修不超过2门课程。3、可选课程数量过多的时候,页面自动分页,每页默认最多显示10条数据。为了实现目标,这里需要使用3个东西:1、后端业务逻辑查询数据库,得出可以选修的课程,返回给前端页面,前端页面需要使用dataTable这个JS组件,实现即时搜索,自动分页等功能。2、点击前端选修按钮之后,会弹出确认的框,这个要使用弹层。3、弹出里面点击确
系统 2019-09-27 17:52:47 2251
python的布尔值True和False相当于1和0,True==1,False==0,True+1=2是成立。在if()条件判断语句中,0、空字符串("")、None、空列表([])、空元组(())、空集合({})这六种都等价于False,详见示例1,但是用==(比较值是否相等,不比较引用地址)比较时只有0==False为True,其他五种都是False,示例2。示例1#示例1if0:print("0")elif"":print("\"\"")elifN
系统 2019-09-27 17:50:47 2251
有时候需要比较大的计算量,这个时候Python的效率就很让人捉急了,此时可以考虑使用numba进行加速,效果提升明显~(numba安装貌似很是繁琐,建议安装Anaconda,里面自带安装好各种常用科学计算库)fromnumbaimportjit@jitdeft(count=1000):total=0foriinrange(int(count)):total+=ireturntotal测试效果:(关于__wrapped__见我的博文:浅谈解除装饰器作用(py
系统 2019-09-27 17:50:24 2251