Python
文章平均质量分 51
masserd
这个作者很懒,什么都没留下…
展开
-
Requests: 让 HTTP 服务人类(Python第三方模块requests介绍及使用方法)
安装 Requests这部分文档包含了 Requests 的安装过程,使用任何软件的第一步就是正确地安装它。pip install requests要安装 Requests,只要在你的终端中运行这个简单命令即可:::$ pip install requests如果你没有安装 pip (啧啧),这个 Python installation guide 可以原创 2017-11-20 14:05:34 · 1134 阅读 · 0 评论 -
Python内存管理机制
1、Python引用,变量,对象python中的对象可以分为不可变对象和可变对象两种类型,分别是:小整数、简单字符串(对于整数和字符串为什么要强调小整数和简单字符串参考博客Python缓存机制),,而对于大整数,长字符串,列表、字典等。区别可变对象和不可变对象还要用到内存和引用,当我们执行一句代码a=3时,python中执行了三个动作:首先,为整数对象3分配一段内存空间,用来存放对象3,再次,创建...原创 2018-05-08 20:28:44 · 1567 阅读 · 0 评论 -
python中eval函数的使用及安全性问题
Python有很多内置的很有用的工具函数,结合Python的强大的第三方库,熟练的运用这些内置工具有助于事半功倍,之前写工具遇到eval()函数,发现这个函数非常好用,但是慢慢后来通过网上的资料知道eval这个函数其实有利也有弊,函数涉及到一些安全问题,下面就对eval函数的使用和涉及到的安全问题进行讲解。eval函数的定义:eval()官方文档里面给出来的功能解释是:将字符串string对象转化...原创 2018-05-25 08:54:12 · 8847 阅读 · 0 评论 -
python eval函数的安全替换品ast.literal_eval
我们知道,要将一个字符串转换成对应的python类型可以使用eval()函数,但是这个函数有一定的安全漏洞(详细请参阅博客python中eval函数的使用及安全性问题),容易被不法人员利用,因此python中出了一个安全处理方式ast.literal_eval(),先看下Stack Overflow和Python官网上对这个函数的解释Stack OverflowPython 简单点说ast模块就是...原创 2018-06-04 15:15:15 · 5138 阅读 · 0 评论 -
Python2和Python3中urllib库中urlencode的引用方式的区别
在使用Python进行web平台开发的过程中用到了urllib中的urlencode方法将字典编码成键值赋值的字符串形式,但是在python2和python3中urllib模块中所提供的urlencode的包的位置有些不同对于python2python2中提供了urllib和urllib2两个模块urlencode方法所在的位置为:urllib.urlencode(value) #其中v...原创 2018-05-28 16:39:45 · 6876 阅读 · 0 评论 -
python web开发之http返回405错误码
今天在写web时,写了一个ajax请求,但是从fiddler中抓包显示总是返回405状态码。405:表示不允许的请求方法网上查资料,有说是因为发起的post请求中没有携带参数,但是我在post中已经携带参数了后来发现是,我在定义路由的时候忘记加methods选项了,所以该路由默认只允许GET,OPTIONS,HEAD三种方法,在路由中加上post方法之后就可以了。...原创 2018-06-12 14:50:50 · 15030 阅读 · 1 评论 -
python学习之timedelta
一个timedelta对象表示一个时间长度,两个日期或者时间的差值class datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)所有的参数都是可选的,默认值为0,参数可以是整数或者浮点数,既可以是整数也可以是负数。虽然说参数可以传递的单位很多,但是python内部实...原创 2018-06-05 17:48:36 · 36328 阅读 · 0 评论 -
python学习之strptime和strftime方法
strftime描述Python time strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定。语法strftime()方法语法:time.strftime(format[, t])参数format -- 格式字符串。t -- 可选的参数t是一个struct_time对象。返回值返回以可读字符串表示的当地时间。strptime描述Python t...原创 2018-06-05 19:03:09 · 5474 阅读 · 0 评论 -
python中将HTTP头部中的GMT时间转换成datetime时间格式
需求背景:目前在做接口的自动化测试平台,由于接口用例执行后返回的结果中的时间是http头部时间,时间格式为‘Tue, 08 May 2018 06:17:00 GMT’,现在想将它转换成‘2018-05-08 06:17:00’这种格式方法:1、先看下如何将datetime类型转换成HTTP头所用的GMT时间格式字符串import datetimeGMT_FORMAT = '%a, %d %b ...原创 2018-06-05 19:06:27 · 5029 阅读 · 0 评论 -
【转】pyCharm最新2018激活码
本教程对jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion等因公司的需求,需要做一个爬取最近上映的电影、列车号、航班号、机场、车站等信息,所以需要我做一个爬虫项目,当然java也可以做爬虫,但是还是没有python这样方便,所以也开始学习Python啦!!!欲善其事,必先利其器。这里我为大家提供了三种激活方式:授权服务器激活:适合小白,一步到位,但服务器容易被...转载 2018-06-23 23:25:24 · 2947 阅读 · 0 评论 -
python学习之Iterable和Iterator的区别
首先从字面意思来解释Iterable和Iterator的区别Iterable:由英文的命名规则知道,后缀是able的意思就是可怎么样的,因此iterable就是可迭代的意思。Iterator:由英文的命名规则知道,后缀是or或者er的都是指代名词,所以iterator的意思是迭代器。这两个概念之间有一个包含与被包含的关系,如果一个对象是迭代器,那么这个对象肯定是可迭代的;但是反过来,如果一个对象是...原创 2018-07-02 17:25:56 · 6407 阅读 · 3 评论 -
python错误TypeError: 'bool' object is not subscriptable
这种问题有时候不一定是bool类型,有可能是int,method等其他的类型,先从字面意思来看,这个错误的意思就是xx类型不能被下标访问,比如a是一个列表,就可以这么访问a[0],但是如果a是一个整数或者布尔类型,则a[0]就会报出该错误。出现这种问题的原因可能就是在用下标访问某个对象比如a时,之前对对象赋值了或者通过某个函数返回了a,但是赋值过程出错了,或者函数没有返回预期的值而是返回了fals...原创 2018-07-13 10:00:37 · 54079 阅读 · 1 评论 -
Python的缓存机制
整数对象缓存池对于【-5,256】中的小整数,系统已经提前分配好了,可以直接拿来用,而对于其他的大整数,python会在内存池中为其分配一块小于256k大小的内存。这样,对于小整数,我们每次的引用都是引用的同一个对象,他们的内存地址是一样的,而对于大整数,每次赋值引用都是引用的不同的对象,他们的内存地址不一样,看下面的例子为了进一步验证,我们可以通过sys模块的getrefcount()函数来查看...原创 2018-05-08 20:24:53 · 2799 阅读 · 0 评论 -
pycharm代码整体左移和右移缩进快捷键
在使用pycharm时,经常会需要多行代码同时缩进、左移,pycharm提供了快捷方式1、pycharm使多行代码同时缩进 鼠标选中多行代码后,按下Tab键,一次缩进四个字符2、pycharm使多行代码同时左移 鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符...原创 2018-04-09 17:31:05 · 169188 阅读 · 1 评论 -
Python+selenium运行出错'Application' executable may have wrong permissions.'chromedriver' executable nee
最近在学习Python的自动化测试,需要用到selenium,于是开始安装selenium,并简单运行我的环境:win7+chrome+Python2.7安装selenium 很简单,直接pip install selenium,等待安装完成即可然后通过网上学习需要为对应的浏览器安装驱动,而且驱动的版本要跟浏览器版本对应,浏览器驱动下载及版本对应请参考如下地址:版本对应参照原创 2017-11-29 14:30:38 · 18113 阅读 · 18 评论 -
python中‘can't use a string pattern on a bytes-like object’错误
# -*- coding: utf-8 -*-"""Created on Tue Nov 14 16:39:25 2017@author: masserd"""from atexit import registerfrom re import compilefrom threading import Threadfrom time import ctimefrom urlli原创 2017-11-16 09:38:17 · 18429 阅读 · 1 评论 -
Python: 'gbk' codec can't encode character '\u30fb' in position 0: illegal multibyte sequence
先上代码:代码是通过爬去王者荣耀官方网站的数据,然后再写入文件中,获取的英雄,铭文等信息写入时都没有问题,但是写入装备信息时就出现编码的问题了 # -*- coding: utf-8 -*-"""Created on Thu Nov 16 16:25:44 2017@author: 10183930"""import requestsimport csvimport...原创 2017-11-22 10:40:00 · 17158 阅读 · 8 评论 -
Python实现自动登录后台管理系统,并进行后续操作
首先感谢下网络上的各位大神和博主,通过学习各位大神的文章,才实现了该脚本①首先浏览器运行真是系统通过fiddler抓包,抓取到登录地址(后面的地址和头部信息等都是通过fiddler抓取的)并获取头信息,header信息里面Accept-Encoding: gzip, deflate去掉吧,免得后面提取页面的url时无法解码,通过代码实现后,这个时候回返回html文本,从文本里面获取原创 2018-03-14 19:50:52 · 7182 阅读 · 0 评论 -
python argparser模块学习详解
经常用的模块, 也是老用老忘, 用一次学一次. 写篇blog, 加深印象. refer to: python howtoargument和parameter的区别:其实跟今天的主题没多大关系, 顺便说一下, 因为看一些英文的技术文章, 会经常用这两个概念.parameter就相当于java里的"形参":方法/函数定义时在括号里的参数def explain_param_v转载 2018-03-08 18:43:07 · 4315 阅读 · 0 评论 -
Django和Flask的对比
1、Django是一款重量级的Python开发web框架,功能齐全,不同的人用Django来开发,开发出来的东西基本架构都是一样的,但是Flask是一个轻量级的web框架,相对来说更加灵活,每个人开发出来的东西架构可能完全不一样,所以对于团队级别的大型项目来说,比较适合选择Django,因为整个团队比较容易达成一致的架构,不会陷入无休止的会议讨论,里面很多东西不需要自己设计,拿来即用,快速开发。而...原创 2018-03-15 15:47:43 · 7323 阅读 · 0 评论 -
Django在根据models生成数据库表时报 __init__() missing 1 required positional argument: 'on_delete'
代码:from django.db import models# Create your models here.class Question(models.Model): question_text = models.CharField(max_length=200) pub_time = models.DateTimeField('date published')...原创 2018-03-16 14:27:41 · 869 阅读 · 0 评论 -
【汇总】Python 编程核心知识体系
本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库,后续会发布相应专题的文章)。首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件&循环,文件对象,错误&异常,函数,模块,面向对象编程;接着,结合这些思维导图主要参考的资料,分享一下我的学习体验,一方面可供初学者参考,另一方面,也便于大家结合思维导图深...转载 2018-03-22 18:49:49 · 676 阅读 · 0 评论 -
python3提示错误“ImportError: No module named 'MySQLdb'”
问题描述: 项目在转到python3.6时,原先的导入MySQLdb模块都提示无法导入,pip install mysqldb也安装失败。 问题原因: python2和python3在数据库模块支持这里存在区别,python2是mysqldb,而到了python3就变成mysqlclient,pip install mysqlclient即可。...原创 2018-03-13 14:01:46 · 25646 阅读 · 0 评论 -
python 错误: ImportError: cannot import name xxx
原因:在使用python是经常会用到import一个第三方库,但是有时候会莫名其妙的提示不能导入某一个模块 主要的原因就是导入该模块的路径不对,在该路径中找不到相应模块 例如:from httprunner import logger就是项目对应的目录下有导入模块重名的文件夹,如自定义的一个httprunner文件夹,该自定义的httprunner文件夹中没有logger.py文件,就原创 2018-03-13 16:24:21 · 23349 阅读 · 1 评论 -
python3.6 错误: ModuleNotFoundError:No module named "Crypto"
原因及处理: 在使用python是经常会用到import一个第三方库,但是有时候会提示某个模块不存在,如Crypto 其实是因为Python3里面这个模块的名字变了,pip install pycrypto试试安装成功后,如果还是提示没有该模块,那就python3的安装目录Lib—-site-package中查看是否有Crypto文件夹,这时你应该看到有crypto文件夹,将其重命名为...原创 2018-03-14 12:10:00 · 71035 阅读 · 42 评论 -
python学习之列表的几种反转方法
1、列表中的内置函数reverse,reverse是就地反转,没有返回值的2、列表的切片方法,这种方法不是就地反转的,有一个列表类型的返回值3、一种笨办法,遍历原列表,然后倒序插入到新列表中 ...原创 2018-07-26 09:38:45 · 7660 阅读 · 0 评论