Python编程问题:程序正常运行,但是文档测试通不过

Python022

Python编程问题:程序正常运行,但是文档测试通不过,第1张

是这个符号 >>>的问题,这个在Python中认为是控制台输入符,在这里时建议写方法实例化的东西,doctest遇到符号这个时会进行特殊处理的,会被检测为测试输出的一部分

修改为:

>>>triangle(4)

1,关于requests

requests是python的一个http客户端库,设计的非常简单,专门为简化http测试写的。

2,开发环境

mac下面搭建开发环境非常方便。

sudo easy_install pip

sudo pip install requests

测试下:python命令行

import requests

>>>r = requests.get('', auth=('user', 'pass'))

>>>r.status_code

200

>>>r.headers['content-type']

'application/jsoncharset=utf8'

>>>r.encoding

'utf-8'

>>>r.text

u'{type:User...'

>>>r.json()

{u'private_gists': 419, u'total_private_repos': 77, ...}

开发工具,之前使用sublime,发现运行报错,不识别table字符。

IndentationError: unindent does not match any outer indentation level

非常抓狂的错误,根本找不到代码哪里有问题了。甚至开始怀疑人生了。

python的这个空格区分代码真的非常让人抓狂。开始怀念有大括号,分号的语言了。

彻底解决办法,直接换个IDE工具。使用牛刀,IDA开发。

直接下载社区版本即可,因为就是写个脚本啥的,没有用到太复杂的框架。

果然效果非常好,直接格式下代码,和java的一样好使,可以运行可以debug。右键直接运行成功。

3,测试接口

没有啥太复杂的,直接使用requests框架即可。

#!/usr/bin/python

# -*- coding: utf-8 -*-

################

import requests

#测试百度

def baidu_func(url):

headers = {}

params = {}

req = requests.post(url, headers=headers, params=params)

print(req.text)

if __name__ == '__main__':

url =

baidu_func(url)

4,总结

测试非常重要,尤其是对外的接口出现的漏洞,需要花时间去仔细测试,同时要仔细分析代码。

安全是挺重要的事情,要花时间去琢磨。

python学习还是非常容易学习的,一个小时就能把语法学会。

同时渗透测试,安全扫描的好多工具也是python写的。PyCharm CE版本的开发工具足够强大,能够帮你快速学习python。

如果想快速做点界面的开发,wxPython是非常不错的选择。