python实用脚本
1)doctest
使用doctest是一种类似于命令行尝试的方式,用法很简单,如下
复制代码代码如下:
def f(n):
"""
>>> f(1)
1
>>> f(2)
2
"""
print(n)
if __name__ == '__main__':
import doctest
doctest.testmod()
应该来说是足够简单了,另外还有一种方式doctest.testfile(filename),就是把命令行的方式放在文件里进行测试。
2)unittest
unittest历史悠久,最早可以追溯到上世纪七八十年代了,C++,Java里也都有类似的实现,Python里的实现很简单。
unittest在python里主要的实现方式是TestCase,TestSuite。用法还是例子起步。
复制代码代码如下:
from widget import Widget
import unittest
# 执行测试的类
class WidgetTestCase(unittest.TestCase):
def setUp(self):
self.widget = Widget()
def tearDown(self):
self.widget.dispose()
self.widget = None
def testSize(self):
self.assertEqual(self.widget.getSize(), (40, 40))
def testResize(self):
self.widget.resize(100, 100)
self.assertEqual(self.widget.getSize(), (100, 100))
# 测试
if __name__ == "__main__":
# 构造测试集
suite = unittest.TestSuite()
suite.addTest(WidgetTestCase("testSize"))
suite.addTest(WidgetTestCase("testResize"))
# 执行测试
runner = unittest.TextTestRunner()
runner.run(suite)
简单的说,1>构造TestCase(测试用例),其中的setup和teardown负责预处理和善后工作。2>构造测试集,添加用例3>执行测试需要说明的是测试方法,在Python中有N多测试函数,主要的有:
TestCase.assert_(expr[, msg])
TestCase.failUnless(expr[, msg])
TestCase.assertTrue(expr[, msg])
TestCase.assertEqual(first, second[, msg])
TestCase.failUnlessEqual(first, second[, msg])
TestCase.assertNotEqual(first, second[, msg])
TestCase.failIfEqual(first, second[, msg])
TestCase.assertAlmostEqual(first, second[, places[, msg]])
TestCase.failUnlessAlmostEqual(first, second[, places[, msg]])
TestCase.assertNotAlmostEqual(first, second[, places[, msg]])
TestCase.failIfAlmostEqual(first, second[, places[, msg]])
TestCase.assertRaises(exception, callable, ...)
TestCase.failUnlessRaises(exception, callable, ...)
TestCase.failIf(expr[, msg])
TestCase.assertFalse(expr[, msg])
TestCase.fail([msg])
2. 如何调试python脚本,使用python自带工具
1, 首先下载并安装Python 2.7
2, 写一个简单地Python源文件,比如test.py,内容如下:
import sys, os
def test(arg1, arg2):
print "begin test..."
fun1('1', '2')
print arg1
print arg2
def fun1(arg1, arg2):
print arg1
print arg2
if __name__ == '__main__':
test(*sys.argv[1:])
3, 右键test.py->Edit with IDLE进入IDLE界面,Run->Run Mole打开Python Shell窗口,点击Debug->Debugger,就打开Debug Control界面,你也将会在Python Shell窗口看到如下显示信息:
[DEBUG ON]
4, 开始调试
4.1,在Python Shell输入如下测试行:
>>> test('3', '4')
4.2,在 fun1('1', '2')或者任意你想要查看的地方设置断点(在IDLE界面里右键->set breakpoint).
4.3,回到Python Shell界面按回车,你将看到在debug control窗口里显示test.py的第一行。
4.4,按Go按钮,将定位到test.py你刚才设置断点的地方.
4.5,按Step或者Over进行调试(Step与Over的区别在于:Step将进入到函数内部进行调试,Over是指不进入到函数内部进行调试,而是直接执行完这个函数).
4.6,你将看到在Python Shell窗口里分步看到打印的内容如下:
[DEBUG ON]
>>> test('3', '4')
begin test...
1
2
3
4
[DEBUG ON]
>>>
3. 分享!5种常用的Python工具
IDLE
在安装Python时,默认也会安装IDLE。这是最优秀的Python工具之一。它可以降低Python入门的门槛。它的主要功能包括Python Shell窗口(交互式解释器)、自动补齐、高亮显示语法以及基本的集成调试器。IDLE轻巧易用,方便学习。但是,它不适用于大型项目。许多程序员都将其作为最佳的Python工具。
Scikit-learn
Scikit-learn是数据科学最常使用的Python工具之一。这是一款为机器学习和数据科学而设计的Python工具。该工具主要用于处理分类、回归、聚类、模型选择以及预处理等任务。scikit-Learn最出色的功能是在测试数据集上执行基准测试时,表现出的惊人速度。因此,对于程序员和学生来说,Scikit-learn是最优秀的Python工具之一。
Theano
Theano是一款数据科学的Python工具,对于程序员和学生而言,这是一款非常可靠的工具。它是深度学习方面最好的Python工具,因此非常适合深度学习。Theano的设计主旨是用户友好、模块化、易于扩展,而且可以与Python配合使用。它能够以最佳方式表达神经网络。Theano可以在TensorFlow和CNTK等流行的神经网络之上运行。
Selenium
Selenium是最佳的Python自动化工具之一。它适用于Python测试的自动化,常常用作Web应用程序的自动化框架。我们可以利用Selenium,通过许多编程语言(包括Java、C#、Python、ruby以及其他许多程序员和学生使用的语言)来编写测试脚本。你还可以在Selenium中集成Junit和TestNG等工具,来管理测试用例并生成报告。
Test complete
Testcomplete是另一款非常出色的Python自动化工具。支持Web、移动和桌面自动化测试。更高级的应用需要获得商业许可,而且它还可以帮助学生提高学业成绩。Test complete还可以像机器人框架一样执行关键字驱动的测试。它拥有最出色的录制以及回放功能,非常实用。
关于分享!5种常用的Python工具,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。
4. python的脚本如何执行
运行python脚本的几种方法:
一. 终端命令行下
[]$python "name.py"
二. python环境中
若脚本名称为name.py,
其内容为:
a='head'
b='hehe'
print(a,b)
则使用
>>>impport name
针对此种方法我们使用下面的语句来显示内容:
>>>print (name.a)
>>>head
>>>print (name.b)
>>>hehe
在同一个python环境中,第一次import加载以后,以后再使用import就不会有相应的结果显示了,在这个时候可以使用>>>reload(name)在python
3.0中可能要加载ipm模块才能使用reload()函数
>>>from imp import reload
>>>reload(name)
三.使用from
假设脚本的名称为name.py
name.py的内容为:
a='head'
b='hehe'
print(a,b)
可以使用下边的方法来运行脚本:
>>>from name import a,b,c
在这个python环境中我们就可以使用简单的变量名来调用其内容。
eg:
>>>a
>>>'head'
>>>b
>>>'hehe'
四.使用exec
方法为:
>>>exec(open('name.py').read())
NOTICE:在上面的方法中,第三种和第四种方法会默认覆盖python环境中已经存在
的且和name.py中有重名的变量名,且系统不会给出提示,请注意这一点!
5. 学习Python,写一些生物信息中可以用到的小的脚本,有没有推荐的
python在多个领域都有很多应用,常用的文件处理,系统管理等,网站构建有强大的django框架,生物信息有biopython框架,科学计算有多框架集成的pythonxy等等