doctest

Pytest权威教程21-API参考-03-夹具(Fixtures)

旧巷老猫 提交于 2021-02-16 14:00:29
[toc] 返回: Pytest权威教程 夹具(Fixtures) 参考: pytest fixtures:显式,模块化,可扩展。 测试函数或其他Fixtures通过将它们声明为参数名称来RequestFixtures。 需要Fixtures的测试示例如: def test_output(capsys): print("hello") out,err = capsys.readouterr() assert out == "hello\n" 需要另一个Fixtures的Fixtures示例如: @pytest.fixture def db_session(tmpdir): fn = tmpdir / "db.file" return connect(str(fn)) 有关更多详细信息,请参阅完整的Fixture方法文档。 @ pytest.fixture @fixture(scope='function', params=None, autouse=False, ids=None, name=None): 装饰器标记Fixtures工厂方法。 可以使用该装饰器(带或不带参数)来定义Fixtures方法。 稍后可以引用fixture函数的名称,以便在运行测试之前调用它:测试模块或类可以使用 pytest.mark.usefixtures(fixturename) 标记。

How to test floats results with doctest?

大兔子大兔子 提交于 2021-02-07 05:01:08
问题 I'm developing a program that makes some floating points calculations. Is there any way to test my functions (which deliver floats) with doctests? 回答1: Sure, just format the floats with a reasonable format, based on your knowledge of what precision you expect them to exhibit -- e.g, if you expect accuracy to 2 digits after the decimal point, you could use: ''' Rest of your docstring and then... >>> '%.2f' % funcreturningfloat() '123.45' ''' 回答2: The documentation has a suggestion Floating

Doctest and Decorators in Python

青春壹個敷衍的年華 提交于 2021-02-07 03:54:47
问题 I was trying to use Python decorator to catch exceptions and log the exceptions. import os.path import shutil class log(object): def __init__(self, f): print "Inside __init__()" self.f = f def __call__(self, *args): print "Inside __call__()" try: self.f(*args) except Exception: print "Sorry" @log def testit(a, b, c): print a,b,c raise RuntimeError() if __name__ == "__main__": testit(1,2,3) It works fine Desktop> python deco.py Inside __init__() Inside __call__() 1 2 3 Sorry The issue is that

Doctest and Decorators in Python

不羁的心 提交于 2021-02-07 03:53:16
问题 I was trying to use Python decorator to catch exceptions and log the exceptions. import os.path import shutil class log(object): def __init__(self, f): print "Inside __init__()" self.f = f def __call__(self, *args): print "Inside __call__()" try: self.f(*args) except Exception: print "Sorry" @log def testit(a, b, c): print a,b,c raise RuntimeError() if __name__ == "__main__": testit(1,2,3) It works fine Desktop> python deco.py Inside __init__() Inside __call__() 1 2 3 Sorry The issue is that

Doctest and Decorators in Python

强颜欢笑 提交于 2021-02-07 03:51:14
问题 I was trying to use Python decorator to catch exceptions and log the exceptions. import os.path import shutil class log(object): def __init__(self, f): print "Inside __init__()" self.f = f def __call__(self, *args): print "Inside __call__()" try: self.f(*args) except Exception: print "Sorry" @log def testit(a, b, c): print a,b,c raise RuntimeError() if __name__ == "__main__": testit(1,2,3) It works fine Desktop> python deco.py Inside __init__() Inside __call__() 1 2 3 Sorry The issue is that

python3 第三十二章

浪尽此生 提交于 2020-10-28 14:02:54
1. 操作系统接口 os 模块提供很多函数与操作系统进行交互︰ >>> import os >>> os.getcwd() # 返回当前的工作目录 ' C:\\Python35 ' >>> os.chdir( ' /server/accesslogs ' ) # 修改当前的工作目录 >>> os.system( ' mkdir today ' ) # 执行系统命令 mkdir 0 确保使用import os而不是from os import *。这样可以防止函数os.open()覆盖内建函数open(),两者之间的操作是很不同的。 内建函数 dir() 和 help() 对os这样的大型模块提供交互式的帮助是很有用的: >>> import os >>> dir(os) <returns a list of all module functions> >>> help(os) <returns an extensive manual page created from the module ' s docstrings> 对于日常的文件和目录管理任务, 这 shutil 模块提供了一个简单好用的高级接口: >>> import shutil >>> shutil.copyfile( ' data.db ' , ' archive.db ' ) ' archive.db ' >>>

Python标准库PDF高清完整版免费下载|百度云盘

限于喜欢 提交于 2020-08-11 20:58:28
百度云盘:Python标准库PDF高清完整版免费下载 提取码:fuvm 内容简介 本书由资深Python专家亲自执笔,Python语言的核心开发人员作序推荐,权威性毋庸置疑。 对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案,所以本书是所有Python程序员都必备的工具书!本书以案例驱动的方式讲解了标准库中一百多个模块的使用方法(如何工作)和工作原理(为什么要这样工作),比标准库的官方文档更容易理解(一个简单的示例比一份手册文档更有帮助),为Python程序员熟练掌握和使用这些模块提供了绝佳指导。 全书一共19章,系统而全面地对Python标准库中的一百多个模块进行了生动的讲解。这些模块主要包括:文本处理工具模块、与数据结构相关的模块、与算法有关的模块、管理日期和时间值的模块、用于数学计算的模块、管理文件系统的模块、用于数据存储与交换的模块、用于数据压缩与归档的模块、用于加密的模块、与进程和线程相关的模块、与网络通信和Email相关的模块、构建模块、支持处理多种自然语言和文化设置的模块、开发工具模块、与运行时特性相关的模块,等等。 作者简介 Doug Hellmann目前是Racemi公司的一位高级开发人员,也是Python Software Foundation的信息交流主管。从1.4版开始他就一直在做Python编程

发行版,distutils,setuptools和distutils2之间的区别?

杀马特。学长 韩版系。学妹 提交于 2020-07-24 17:06:10
问题: The Situation 情况 I'm trying to port an open-source library to Python 3. ( SymPy , if anyone is wondering.) 我正在尝试将开放源代码库移植到 Python3 。( SymPy ,如果有人想知道的话。) So, I need to run 2to3 automatically when building for Python 3. To do that, I need to use distribute . 因此,在为Python 3进行构建时,我需要自动运行 2to3 。为此,我需要使用 distribute 。 Therefore, I need to port the current system, which (according to the doctest) is distutils . 因此,我需要移植当前系统(根据doctest)是 distutils 。 The Problem 问题 Unfortunately, I'm not sure what's the difference between these modules— distutils , distribute , setuptools . 不幸的是,我不确定这些模块( distutils ,

第23天:Python 标准库概览1

为君一笑 提交于 2020-07-24 01:59:35
by 潮汐 Python 的标准库非常广泛,提供了各种各样的工具。该库包含内置模块(用C编写),可以访问系统功能,例如 Python 程序员无法访问的文件 I / O,以及用 Python 编写的模块,这些模块为许多问题提供标准化解决方案。其中一些模块明确地旨在通过将平台特定的内容抽象为平台中立的 API 来鼓励和增强 Python 程序的可移植性。 Python 的标准库(standard library) 是 Python 的一个组成部分,也是 Python 的利器,它可以让编程事半功倍。 本章节就 Python3 的标准库作一个轮廓概览,后续章节将对每个标准库模块进行详细 讲解 1、操作系统接口 1.1 os 模块简介 os 模块提供了很多与操作系统相关联的函数,这使得程序员们在编程的时候能利用函数便携操作,如果你希望你的程序能够与平台无关的话,运用这个模块中的功能就尤为重要。在使用 os 模块前,需要先 import os 引入模块。以下方法只做介绍,具体的应用可以使用 help(os) 查看帮助文档,最重要的是实际操作。 1.1.1 操作系统相关调用和操作 os.name 获取操作系统平台 os.environ 一个 dictionary 包含环境变量的映射关系 print(os.environ) 输出环境变量值 os.system() 用来运行shell命令 os

python3: doctest helper/internal functions?

两盒软妹~` 提交于 2020-07-23 11:51:06
问题 How do I make the following work so that helpers's test is run? It doesen't. def B(): def helper(): """ >>> some doctest result """ ... if __name__ == "__main__": import doctest doctest.testmod() 回答1: Nested functions cannot be found, because the function object doesn't exist until the B() function is run. You'd have to return it as the result of calling the B() function, then assign it to the __test__ dictionary: def B() def helper() """ >>> some doctest result """ return helper # ... if _