文章目录pipvirtualenv缺点Pipenv总结学Python有段时间了,学的时候会想着拿它和Java对比。在对比的时候,发现Java有很成熟的项目构建工具,有使用xml的Maven,也有使用groovy的Gradle,这样的构建工具能够自动处理项目的依赖,很是方便。对于Python,在依赖管理方面,从一个初学者的角度看,嗯,只能说,贵圈真乱!(本文纯属个人观点,不喜勿喷)好吧,让我们捋一捋。在包管理方面,听说现在在役的包管理工具有distutils
系统 2019-09-27 17:52:49 2265
引言前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像。效果如下图,出于隐私考虑,这里作了模糊处理。是不是很炫,而且这还是独一无二的,毕竟每个人的微信好友是不一样的。本文就教大家用Python来实现这种效果。环境操作系统:WindowsPython版本:3.7.3代码实现我们需要首先需要获取好友的头像信息,接下来处理图像并完成图像的拼接。准备工作在这里,我们登录微信获取好友信息,使用的是wxpy模块;
系统 2019-09-27 17:50:08 2265
切片:方便截取list、tuple、字符串部分索引的内容正序切片语法:dlist=doList[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素实例:dolist=[1,3,5,7,9,11]dlist=dolist[0:3]#与range()函数一致含左不含右nlist=dolist[:3]#当开始值为0时,可以不写,效果与dlist一致print(dlist)print(nlist)运行结果:倒序切片语法:
系统 2019-09-27 17:50:00 2265
MVC和MTV框架MVCWeb服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:|M:models数据库相关;V:views视图相关C:controller控制器url分发|MTVDjango的MTV模式本质上和MV
系统 2019-09-27 17:49:39 2265
【Python】flask框架响应前端ajax请求前端JavaScript代码后端Python代码前端JavaScript代码//--------------------------------------------GET请求alert("GET");$.ajax(
系统 2019-09-27 17:49:16 2265
考虑到我手上的服务器逐渐的增多,有时候需要大规模的部署同一个文件,例如因为方便使用systemtap这个工具定位问题,需要把手上几百台服务器同时安装kernel-debuginfo这个包,原有的方式采用一个源服务器,采用rsync或者scp之类的文件传输方式只能做到一个点往下分发这个文件,这个时候下发的速度就会比较的慢,基于以上原因,我写了一个基于bt协议传输文件的小工具,实际测试,传输到10个机房,70多台机器传输一个240M的这个内核文件,到所有的机器
系统 2019-09-27 17:48:31 2265
Python+selenium是当前常用的自动化测试环境之一,在自动化测试框架中,常用的是POM模型,下面是对常用的页面操作的总结:1、输入框:fromseleniumimportwebdriver#定位文本框tk=driver.get_element_by_id("id")#清空文本框tk.clear()#文本框中输入内容tk.send_keys("value")2、下拉选择框a、通过select进行定位下拉框------通过代码段定位#导入Select
系统 2019-09-27 17:47:53 2265
最近开发一套接口,写个Python脚本,使用requests.session模拟一下登录.因为每次需要获取用户信息,登录需要带着session信息,所以所有请求需要带着session。请求使用post方式,请求参数类型为raw方式,参数为json类型。登录接口参数和结果如下:脚本如下:1.引入需要的第三方包#!/usr/bin/envpython3#-*-coding:utf-8-*-importrequests#importreimportjson#fr
系统 2019-09-27 17:47:31 2265
Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等。其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式。管道是一种半双工的通信机制,也就是说,它只能一端用来读,另外一端用来写;另外,管道只能用来在具有公共祖先的两个进程之间通信。管道通信遵循先进先出的原理,并且数据只能被读取一次,当此段数据被读取后,马上会从数据中消失,这一点很重要。Linux上,创建管道使用pipe函数,当它执行后,会产生两个文件描述符,分别
系统 2019-09-27 17:45:56 2265
分类题目解题思路Python实现题目给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票),地址。示例:输入:[3,3,5,0,0,3,1,4]输出:6解释:在第4天(股票价格=0)的时候买入,在第6天(股票价格=3)的时候卖出,这笔交易所能获得利润=3-0=3。随后,在第7天(股票价格=1)的时候买入,在第8天(股票价格
系统 2019-09-27 17:45:38 2265
说明:python的urllib2获取网页(urlopen)会自动重定向(301,302)。但是,有时候我们需要获取302,301页面的状态信息。就必须获取到转向前的调试信息。下面代码将可以做到避免302重定向到新的网页#!/usr/bin/python#-*-coding:utf-8-*-#encoding=utf-8#Filename:states_code.pyimporturllib2classRedirctHandler(urllib2.HTTP
系统 2019-09-27 17:38:42 2265
一个简单的for语句就能循环字典的所有键,就像处理序列一样:In[1]:d={'x':1,'y':2,'z':3}In[2]:forkeyind:...:printkey,'correspondsto',d[key]...:ycorrespondsto2xcorrespondsto1zcorrespondsto3在python2.2之前,还只能用beys等字典方法来获取键(因为不允许直接迭代字典)。如果只需要值,可以使用d.values代替d.keys。d
系统 2019-09-27 17:38:16 2265
一旦你创建一个Template对象,你可以用context来传递数据给它。一个context是一系列变量和它们值的集合。context在Django里表现为Context类,在django.template模块里。她的构造函数带有一个可选的参数:一个字典映射变量和它们的值。调用Template对象的render()方法并传递context来填充模板:>>>fromdjango.templateimportContext,Template>>>t=Templ
系统 2019-09-27 17:37:55 2265
三目运算符也就是三元运算符一些语言(如Java)的三元表达式形如:判定条件?为真时的结果:为假时的结果result=xifxPython的三元表达式有如下几种书写方法:if__name__=='__main__':a=''b='True'c='False'#方法一:为真时的结果if判定条件else为假时的结果d=bifaelsecprint('方法一输出结果:'+d)#方法二:判定条件and为真时的结果or为假时的结果d=aandborcprint('方法
系统 2019-09-27 17:37:35 2265
由于python代码有的需要在python2.7版本执行,有的需要在python3版本执行,所以需要安装多个python环境。前提:已经安装了anaconda和python3(安装步骤参考:https://blog.csdn.net/flyer_tang/article/details/80363669)目的:为jupyter再添加python2.7版本内核环境安装步骤如下:创建python2.7版本虚拟环境condacreate-nenv_namepyt
系统 2019-09-27 17:57:26 2264