Doctest 无法识别 __future__.division

2024-01-02

我写了以下文档测试x.doctest:

This is something:

    >>> x = 3 + 4

foo bar something else:

    >>> from __future__ import division
    >>> y = 15
    >>> z = int('24')
    >>> m = z / y
    >>> print (m)
    1.6

但当我跑的时候python -m doctest x.doctest在 python 2.7.11 上,doctest 无法识别from __future__ import division:

**********************************************************************
File "x.doctest", line 11, in x.doctest
Failed example:
    print (m)
Expected:
    1.6
Got:
    1
**********************************************************************
1 items had failures:
   1 of   6 in x.doctest
***Test Failed*** 1 failures.

即使我将未来的导入语句移至第一行:

This is something:

    >>> from __future__ import division
    >>> x = 3 + 4

foo bar something else:

    >>> y = 15
    >>> z = int('24')
    >>> m = z / y
    >>> print (m)
    1.6

文档测试仍然失败:

**********************************************************************
File "x.doctest", line 11, in x.doctest
Failed example:
    print (m)
Expected:
    1.6
Got:
    1
**********************************************************************
1 items had failures:
   1 of   6 in x.doctest
***Test Failed*** 1 failures.

为什么会这样?我该如何解决这个问题?

doctest 是否有一个标志/选项要求确保from __future__ import division被认可吗?

注意:我可以强制检查print (int(m)) or y = 15.文档测试会通过,但这并不是那么理想。


文档测试运行每一行隔离中通过Python编译器。这意味着任何用 a 指定的编译器标志from __future__ import ..陈述在文档测试本身中在文档测试中没有用。

然而,你can添加真实姓名__future__ module https://docs.python.org/2/library/__future__.html到你的 doctest 全局变量。如果你don't使用from __future__ import <name>格式但使用import __future__相反,您导入实际的模块,并且可以将对其定义的对象的引用添加到 doctestglobs or extraglobs字典:

 if __name__ == "__main__":
     import doctest
     import __future__
     doctest.testmod(extraglobs={'division': __future__.division})

The DocTestRunner然后,在编译这些行的各个行时,将为您设置正确的编译器标志。

Demo:

>>> import doctest
>>> import __future__
>>> import sys
>>> def foo():
...     """
...     >>> 1 / 2
...     0.5
...     """
...
>>> doctest.testmod(sys.modules['__main__'])
**********************************************************************
File "__main__", line 3, in __main__.foo
Failed example:
    1 / 2
Expected:
    0.5
Got:
    0
**********************************************************************
1 items had failures:
   1 of   1 in __main__.foo
***Test Failed*** 1 failures.
TestResults(failed=1, attempted=1)
>>> doctest.testmod(sys.modules['__main__'], extraglobs={'division': __future__.division})
TestResults(failed=0, attempted=1)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Doctest 无法识别 __future__.division 的相关文章

  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • 使用 pythonbrew 编译 Python 3.2 和 2.7 时出现问题

    我正在尝试使用构建多个版本的 python蟒蛇酿造 http pypi python org pypi pythonbrew 0 7 3 但我遇到了一些测试失败 这是在运行的虚拟机上 Ubuntu 8 04 32 位 当我使用时会发生这种情
  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 对年龄列进行分组/分类

    我有一个数据框说df有一个柱子 Ages gt gt gt df Age 0 22 1 38 2 26 3 35 4 35 5 1 6 54 我想对这个年龄段进行分组并创建一个像这样的新专栏 If age gt 0 age lt 2 the
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 在 Angular 中使用 AngularJS 服务

    我正在寻找 Angular 项目中包含 AngularJS 服务 这是我的 main ts import platformBrowserDynamic from angular platform browser dynamic import
  • auth.User.groups:(fields.E304)“User.groups”的反向访问器与“UserManage.groups”的反向访问器冲突

    在我的 Django 项目中 我有一个user manage app 我创建了一个名为UserManage in my user manage应用程序的model py from django db import models from d
  • 返回 Bash 脚本中的正则表达式匹配项,而不是替换它

    我只想匹配 Bash 脚本中的一些文本 我尝试过使用 sed 但我似乎无法让它只输出匹配项而不是用某些东西替换它 echo E TestT100String sed s 0 9 dontReplace g 哪个会输出TestTdontRep
  • 我如何知道 PDF 页面是彩色还是黑白?

    给定一组 PDF 文件 其中一些页面是彩色的 其余页面是黑白的 是否有任何程序可以找出给定页面中哪些页面是彩色的 哪些页面是黑白的 例如 这在打印论文时很有用 并且只需花费额外的费用来打印彩页 对于考虑双面打印并将适当的黑白页面发送到彩色打
  • R:使用 rvest 包而不是 XML 包从 URL 获取链接

    我使用 XML 包来获取链接this url http www bvl com pe includes empresas todas dat Parse HTML URL v1WebParse lt htmlParse v1URL Read
  • 在圆形叠加层中绘制文本

    我正在尝试在 MKMapView 上绘制一些包含文本的圆形叠加层 我对 MKCircleView 进行了子类化 在其中放置了以下内容 基于this https stackoverflow com questions 4165842 draw
  • 主键违规错误后继续事务

    我正在从日志文件将记录批量插入数据库 有时 每千行中约有 1 行 其中一行违反了主键并导致事务失败 目前 用户必须手动检查导致失败的文件并删除有问题的行 然后才能尝试重新导入 鉴于有数百个这样的文件需要导入 这是不切实际的 我的问题 如何跳
  • 可以使用 CSS 设计 Tkinter GUI 样式吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如果不是内置功能 是否有附加包允许 Python 的 Tkinter 使用 CSS 如果您可以使用 CSS 则无法以相同的方式设置样式
  • 如何从句子中标记的 word2vec 中获取句子的向量

    我已经使用 word2vec 从大型文档中生成了标记列表的向量 给定一个句子 是否可以从句子中标记的向量得到该句子的向量 有不同的方法来获取句子向量 Doc2Vec 您可以使用 Doc2Vec 训练数据集 然后使用句子向量 Word2Vec
  • Web 配置中的“全局元素‘配置’已被声明”

    我在网络配置中收到烦人的构建警告 我收到了大约 40 条警告Global element element name has already been declared对于我的网络配置中的所有元素 这是针对我在与 MVC 网站相同的解决方案中
  • 当非管理员尝试访问 wp-admin 或 wp-login.php 时,如何将用户重定向到 404 页面未找到错误

    出于安全原因 我试图通过重写链接来限制我的 WordPress 网站管理员和登录面板对非管理员用户的访问 这样如果用户输入http www mysite com wp login php http www mysite com wp log
  • 传入 Apple 推送通知的端口号

    需要在网络上打开哪些网络服务 端口号 传出传入或两者同时打开 iPod touch 才能接收 Apple 推送通知 我知道发送 apns 时要设置的传出端口号 唯一的问题是 在我的学校 几乎每个传出 和传入 端口都被阻止 因此 APN 不起
  • 如何让 mongo 映射器在 Rails 4 中生成 config/mongo.yml 文件

    我正在尝试使用 Mongo Mapper gem 制作一个 Rails 应用程序 我按照 Mongo Mapper 文档中的说明进行操作 链接在这里 Mongo 映射器文档 http mongomapper com documentatio
  • 可排序 + 可拖动演示 - 如何访问放置的项目?

    我有一个可排序的列表 当一个新项目 从可拖动的项目 放入列表中时 我想访问它以对其执行一些操作 这就是我所拥有的 mySortableList sortable receive function event ui alert this is
  • 在 Objective C 类别中使用 Super?

    我想重写 Objective C 类中的一个方法 但我没有源代码 我已经研究过了 看来类别应该允许我这样做 但我想在我的新方法中使用旧方法的结果 使用 super 来获取旧方法的结果 每当我尝试这个时 我的方法都会被调用 但 超级 为零 知
  • Google 脚本,根据上次修改日期删除文件夹中的文件

    我正在尝试创建一个脚本 该脚本每周一次通过共享驱动器运行 并删除过去 90 天内未修改的任何内容 我在这里发现了一些脚本似乎没有按照我的预期工作 我目前拥有的脚本如下 但由于某种原因它似乎不起作用 但似乎应该起作用 它似乎识别了文件 但似乎
  • eval 有什么作用以及为什么它是邪恶的? [复制]

    这个问题在这里已经有答案了 var myString x myObject x 10 value eval myObject myString alert value alert myObject myString 评估是邪恶的 http
  • Excel 多行条件色标

    我有一个电子表格 显示一系列产品的库存数据 我每天都有一个专栏 其中的值显示我的库存水平将如何随着时间的推移而减少 我想使用色标来轻松查看某些产品的库存何时会变少 我的量表的最小值 中值和最大值基于不同列中的值 并且每个产品的值都不同 根据
  • 使用 java 获取便携式设备

    我正在尝试访问设备中的一些文件 具有 Windows CE 其中的应用程序 显示为便携式设备在 windows 7 中使用 java applet 我的设备路径是这样的 Computer Attari s Device myfile txt
  • Doctest 无法识别 __future__.division

    我写了以下文档测试x doctest This is something gt gt gt x 3 4 foo bar something else gt gt gt from future import division gt gt gt