关于我一个有思想的程序猿,终身学习实践者,目前在一个创业团队任teamlead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。Github:https://github.com/hylinux1024微信公众号:终身开发者(angrycode)Flask中全局变量有current_app、request、g和session。不过需要注意的是虽然标题是写着全局变量,但实际上这些变量都跟当前请求的上下文环境有关,下面一起
系统 2019-09-27 17:52:41 1696
json.load读取文件(file),解析为json对象(dict类型);json.loads读取字符串(string),解析为json对象;json.dump写文件(file),将json对象写入文件;json.dumps写字符串,将json对象写成string。importjsonimportosjson_obj={'name':'Michael','age':13}print("jsondict:",type(json_obj))#json对象是一
系统 2019-09-27 17:52:39 1696
概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c
系统 2019-09-27 17:52:39 1696
作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认
系统 2019-09-27 17:52:35 1696
第1题:如何解决验证码的问题,用什么模块,听过哪些人工打码平台?PIL、pytesser、tesseract模块平台的话有:(打码平台特殊,不保证时效性)云打码挣码斐斐打码若快打码超级鹰第2题:ip被封了怎么解决,自己做过ip池么?关于ip可以通过ip代理池来解决问题ip代理池相关的可以在github上搜索ipproxy自己选一个去说https://github.com/awolfly9/IPProxyTool提供大体思路:获取器通过requests的爬虫
系统 2019-09-27 17:52:35 1696
前言刚开始开发Web的时候,没太在意隔离虚拟环境,用了系统的那一套,Python2.7版本是系统自带的,虽说明年就结束了,但是现在开发都会有一套3.x以上的环境,即使你开发不注意,你部署的时候总归是要隔离出来的。1.方便隔离,不同环境编写测试2.方便迁移,pipfreeze到出包文件依赖,随后提交管理和迁移都很方便virtualenv前提是你有两套PythonmikejingdeMacBook-Pro:~MKJ$whichpython/usr/bin/py
系统 2019-09-27 17:52:34 1696
前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富。所以我们把之前的那个版本定为1.0,而今天修改的版本定为2.0。版本的迭代意味着功能的升级,那今天的2.0版本较之前的1.0版本有哪些改进呢?我们一起来看看!1.0版本实现步骤我们先来回顾一下模拟登录淘宝的步骤吧,我们还是先看看淘宝登录的详细时序图:这是淘宝网登录的一个请求流程,而我们模拟登录也是根据这样的一个流程。但是在代码模拟登录的时候就不会分的这么细,我们根
系统 2019-09-27 17:52:34 1696
mkvirtualenv-ppython3环境名创建虚拟环境rmvirtualenv环境名删除环境进入虚拟环境workon环境名(workon+tab可以出来所有环境)查看环境下所有包pip3list查看环境下安装的包(不包括原生python包)pip3freeze依赖包文件生成pip3freeze>requirements.txt环境导入依赖包pip3install-rrequirements.txt普通安装pip3install包名这是linux下的指
系统 2019-09-27 17:52:34 1696
Socket的英文原义是“孔”或“插座”。作为BSDUNIX的进程通信机制,取后一种意思。通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电,有的提供110伏交流电,有的
系统 2019-09-27 17:52:33 1696
本文实例讲述了Python多线程threading模块用法。分享给大家供大家参考,具体如下:多线程-threadingpython的thread模块是比较底层的模块,python的threading模块对thread做了一些包装,可以更加方便的被使用。1.使用threading模块单线程执行#coding=utf-8importtimedefsaySorry():print('跑一圈')time.sleep(1)if__name__=="__main__"
系统 2019-09-27 17:52:32 1696