项目上线部署的时候需要服务端的同学帮忙打Docker,但是自己也需要提前写好requirements.txt。这里记录一下两种生成requirements.txt的方法。方法一:在项目根目录下,在命令行中输入:pipfreeze>requirements.txt这种方法会将当前环境下的所有的信息都存入requirements.txt中。方法二:首先安装pipreqs库。进入需要生成文件的目录执行:pipreqs./如果出现报错:UnicodeDecodeE
系统 2019-09-27 17:54:12 2096
Python闭包的使用方法嵌套函数中的非局部变量在进入闭包之前,我们必须先了解一个嵌套函数和非局部变量。在函数中定义另一个函数称为嵌套函数。嵌套函数可以访问包围范围内的变量。在Python中,这些非局部变量只能在默认情况下读取,我们必须将它们显式地声明为非局部变量(使用nonlocal关键字)才能进行修改。以下是访问非局部变量的嵌套函数的示例。defprint_msg(msg):#Thisistheouterenclosingfunctiondefprin
系统 2019-09-27 17:53:47 2096
A_star算法与Dijkstra算法Grassfire算法主要不一样的地方就在于加入了一个度量目前的节点与目标点之间的距离的启发函数:常用的启发函数有:算法介绍就不详细叙述了,本文主要是通过python实现A*算法在01地图中(0表示可通行区域,1表示障碍区域)的最优路径寻找,最终效果为:其中6是其进行行走的路径。下面在程序中,对算法中所设计到的需要进行抽象的对象及算法的逻辑流程进行了概述:#需要进行抽象化的有:节点(属性有:xy坐标父节点g及h)地图(
系统 2019-09-27 17:51:25 2096
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 2096
RESTful是一种API设计规范。在RESTful架构中,主要使用POST,DELETE,PUT和GET四种HTTP请求方式分别对指定的URL资源进行增删改查操作。RESTful之前的做法:/users/query/1GET根据用户id查询用户数据/users/savePOST新增用户/users/updatePOST修改用户信息/users/deleteGET/POST删除用户信息RESTful做法:/users/1GET根据用户id查询用户数据/us
系统 2019-09-27 17:49:08 2096
python基础学习笔记(十二)2013-05-1621:47虫师阅读(...)评论(...)编辑收藏模块前面有简单介绍如何使用import从外部模块获取函数并且为自己的程序所用:>>>importmath>>>math.sin(0)#sin为正弦函数0.0模块是程序任何python程序都可以作为模块导入。假设写如下程序,并且将它保存为以C:\python\hello.py#hello.pyprint"hello,world!"下面通过python解释器调
系统 2019-09-27 17:48:50 2096
Python运算符重载Python语言提供了运算符重载功能,增强了语言的灵活性,这一点与C++有点类似又有些不同。鉴于它的特殊性,今天就来讨论一下Python运算符重载。Python语言本身提供了很多魔法方法,它的运算符重载就是通过重写这些Python内置魔法方法实现的。这些魔法方法都是以双下划线开头和结尾的,类似于__X__的形式,python通过这种特殊的命名方式来拦截操作符,以实现重载。当Python的内置操作运用于类对象时,Python会去搜索并调
系统 2019-09-27 17:48:20 2096
目录一、安装二、Gevent模块介绍2.1用法介绍2.2例:遇到io主动切换2.3查看threading.current_thread().getName()三、Gevent之同步与异步四、Gevent之应用4.1服务端4.2客户端4.3多线程并发多个客户端一、安装安装:pip3installgevent二、Gevent模块介绍Gevent是一个第三方库,可以轻松通过gevent实现并发同步或异步编程,在gevent中用到的主要模式是Greenlet,它是
系统 2019-09-27 17:46:57 2096
importzipfileimporteasyguiasguifromthreadingimportThreaddefcrackPassword(zFile,password):try:zFile.extractall(pwd=password.encode("utf-8"))print("[+]crackpassword"+password)returnexcept(RuntimeError,zipfile.BadZipFile):print("密码:"
系统 2019-09-27 17:46:50 2096
Django带来了一个高级的聚合生成框架,它使得创建RSS和Atomfeeds变得非常容易。什么是RSS?什么是Atom?RSS和Atom都是基于XML的格式,你可以用它来提供有关你站点内容的自动更新的feed。了解更多关于RSS的可以访问http://www.whatisrss.com/,更多Atom的信息可以访问http://www.atomenabled.org/.想创建一个联合供稿的源(syndicationfeed),所需要做的只是写一个简短的p
系统 2019-09-27 17:38:46 2096