Python - 军军小站|张军博客
Python

python三大神器之fabric使用教程

fabric是一个python包是一个基于ssh的部署工具包通常用来对网站微服务等等的批量部署例如我有5台线上服务器可以通过一台对着5台分发,实现自动部署的目的。简单介绍下fabric的常用命令常用命令lcd(dir):进入本机某目录local(cmd):本机上执行命令cd(dir):进入服务器某目录run(cmd):服务器上执行命令FabricFabric是一个python的远程执行shell的库,同时它也是一个命令行工具。它提供了丰富的同SSH交互的接

系统 2019-09-27 17:54:45 2031

Python

用Python编写一个国际象棋AI程序

最近我用Python做了一个国际象棋程序并把代码发布在Github上了。这个代码不到1000行,大概20%用来实现AI。在这篇文章中我会介绍这个AI如何工作,每一个部分做什么,它为什么能那样工作起来。你可以直接通读本文,或者去下载代码,边读边看代码。虽然去看看其他文件中有什么AI依赖的类也可能有帮助,但是AI部分全都在AI.py文件中。AI部分总述AI在做出决策前经过三个不同的步骤。首先,他找到所有规则允许的棋步(通常在开局时会有20-30种,随后会降低到

系统 2019-09-27 17:53:42 2031

Python

2种方式解决Python执行卡顿问题

转载:hackpython简介Flask是Python中有名的轻量级同步web框架,在一些开发中,可能会遇到需要长时间处理的任务,此时就需要使用异步的方式来实现,让长时间任务在后台运行,先将本次请求的响应状态返回给前端,不让前端界面「卡顿」,当异步任务处理好后,如果需要返回状态,再将状态返回。怎么实现呢?使用线程的方式当要执行耗时任务时,直接开启一个新的线程来执行任务,这种方式最为简单快速。通过ThreadPoolExecutor来实现fromflaski

系统 2019-09-27 17:53:32 2031

Python

Python Web框架Flask信号机制(signals)介绍

信号(signals)Flask信号(signals,oreventhooking)允许特定的发送端通知订阅者发生了什么(既然知道发生了什么,那我们可以知道接下来该做什么了)。Flask提供了一些信号(核心信号)且其它的扩展提供更多的信号。信号是用于通知订阅者,而不应该鼓励订阅者修改数据。相关信号请查阅文档。信号依赖于Blinker库。钩子(hooks)Flask钩子(通常出现在蓝图或应用程序现存的方法中,比如一些内置装饰器,例如before_reques

系统 2019-09-27 17:53:22 2031

Python

详解pyppeteer(python版puppeteer)基本使用

一、前言以前使用selenium的无头浏览器,自从phantomjs2016后慢慢不更新了之后,selenium也开始找下家,这时候谷歌的chrome率先搞出来无头浏览器并开放了各种api,随后firefox也开始做。现在selenium的测试也都支持这两个浏览器的无头模式了,只需要在引入的时候配置一下就可以了。之所以要采用谷歌chrome官方无头框架puppeteer的python版本pyppeteer,是因为有些网页是可以检测到是否是使用了seleni

系统 2019-09-27 17:52:58 2031

Python

python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image

在处理图像的时候经常是读取图片以后把图片转换为灰度图。作为一个刚入坑的小白,我在这篇博客记录了四种处理的方法。首先导入包:importnumpyasnpimportcv2importtensorflowastffromPILimportImage方法一:在使用OpenCV读取图片的同时将图片转换为灰度图:img=cv2.imread(imgfile,cv2.IMREAD_GRAYSCALE)print("cv2.imread(imgfile,cv2.IMR

系统 2019-09-27 17:48:56 2031

Python

使用python实现图片增加水印

处于某些业务需求需要对一些特定的图片增加水印,于是去了解了PIL这个库,可以完美的解决这个问题实现效果如下:具体代码如下:fromPILimportImage,ImageDraw,ImageFontimageFile="./image/two.jpg"imageInfo=Image.open(imageFile)fontOne=ImageFont.truetype("‪C:\Windows\Fonts\simfang.ttf",100)fontTwo=Im

系统 2019-09-27 17:46:13 2031

Python

python+opencv实现摄像头调用的方法

最近入了一块树莓派,想让其实现摄像头的调用,因此写下此博客备忘一、树莓派网络的配置首先,对树莓派进行网络配置,否则就无法进行软件的安装我们知道,ifconfig命令可以修改ip地址、子网掩码等信息,但是当设备重启之后必须重新设置因此,我们使用如下方法进行网络配置修改/etc/network/interfaces其中,红色框选中的为需要修改的部分autoeth0//设为开机启动eth0ifaceeth0inetstatic//设为静态ipaddress10.

系统 2019-09-27 17:45:58 2031

Python

基于Python2、Python3中reload()的不同用法介绍

reload()简介作用:用于重新载入之前载入的模块语法格式:reload(module)参数:module为模块对象,必须已经被加载返回值:返回模块对象注意事项:多次重复使用import语句时,不会重新加载被指定的模块,只是把对该模块的内存地址给引用到本地变量环境。reload()会重新加载已加载的模块,重新编译模块,重新执行模块级代码,但是__init__函数不再重复执行,原来已经使用的实例还是会使用旧的模块,而新生产的实例会使用新的模块;reload

系统 2019-09-27 17:45:41 2031

Python

Python中方法链的使用方法

方法链(methodchaining)是面向对象的编程语言中的一种常见语法,可以让开发者在只引用对象一次的情况下,对同一个对象进行多次方法调用。举个例子:假设我们有一个Foo类,其中包含有两个方法――bar和baz。我们创建一个Foo类的实例:foo=Foo()如果不使用方法链,要想连续调用对象foo的bar和baz方法的话,我们得这样做:foo.bar()#Callmethodbar()onobjectfoo.foo.baz()#Callmethodba

系统 2019-09-27 17:38:00 2031

Python

selenium webdriver+windows+python+chrome遇见

win7系统,在python中调用ChromeDriver一直报错“selenium.common.exceptions.WebDriverException:Message:'ChromeDriverexecutableneedstobeavailableinthepath.”将ChromeDriver的路径添加到系统变量path也不行,后来将ChromeDriver拷贝到/python27/scripts下,问题解决。即,需要拷贝到当前python脚本

系统 2019-08-12 09:27:29 2031

Python

python实现线性回归的数据

单变量6.1101,17.5925.5277,9.13028.5186,13.6627.0032,11.8545.8598,6.82338.3829,11.8867.4764,4.34838.5781,126.4862,6.59875.0546,3.81665.7107,3.252214.164,15.5055.734,3.15518.4084,7.22585.6407,0.716185.3794,3.51296.3654,5.30485.1301,0.5

系统 2019-09-27 17:56:53 2030

Python

python绘制评估优化算法性能的测试函数

测试函数主要是用来评估优化算法特性的,这里我用python3绘制了部分测试函数的图像。具体的测试函数可以结合维基百科来了解。想要显示某个测试函数的图片把代码结尾对应的注释去掉即可,具体代码如下:importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3Ddefdraw_pic(X,Y,Z,z_max,title,z_min=0):fig=plt.figure(

系统 2019-09-27 17:56:51 2030

Python

python题(线程+GIL)

1:importthreadingnum=0#非原子操作资源竞争l=[]#GIL原子操作defwork1():globalnumforiinrange(1000000):num+=1l.append(i)#一个字节码指令print(num,len(l))defwork2():globalnumforiinrange(1000000):num+=1l.append(i)print(num,len(l))if__name__=='__main__':first

系统 2019-09-27 17:56:41 2030

Python

Python入门基础系列1

一名大三(马上大四实习)软件工程学子,入门基础的所有内容都是我在观看网易云课堂的Alex老师的Python课程之后自己所留下的复习笔记,以便加深自己的印象。本文非常非常非常的基础!!!一、开发工具的选择我下载了多款IDE工具,包含eclipse+pydevAnacondacanopypycharm最后通过多方面综合(安装/环境配置过程操作难度,后期运用起来的难易程度)最后选择了Pycharm,因为就我个人来看,我感觉学生党用jetbrains的IDE真的是

系统 2019-09-27 17:56:28 2030