如何在Python中打印命令?

2024-03-27

我不从事编程领域,但最近对 Python 感兴趣。我正在编写一些函数,但为了调试,我需要查看正在运行哪些命令。例如:

def foo():
    for i in xrange(0,5):
        a = 1 + i

是否可以让解释器输出

>>> for i in xrange(0,5)
>>> a = 1 + 0
>>> a = 1 + 1
>>> a = 1 + 2
>>> a = 1 + 3
>>> a = 1 + 4

For

>>> foo()

或者至少将发生的情况写入文件?我过去写过一些脚本,我记得这在 DOS 中是可能的,使用 @ECHO ON 或其他东西。我读了一些书,感觉它与 Python 中的 stdin 和 stdout 有关,所以我尝试了

import sys
def foo():
    for i in xrange(0,5):
        a = 1 + i
        sys.stdin.flush()
        sys.stdout.flush()

但我什么也没得到......我也尝试过

import sys
# foo()
sys.stdin.read()
sys.stdout.read()

and https://stackoverflow.com/a/3289051/2032568 https://stackoverflow.com/a/3289051/2032568,但它只是挂起。抱歉,如果这不适合初学者。我找不到任何可以回答我的问题的东西。


看看跟踪模块 http://docs.python.org/2/library/trace.html

python -m trace --count -C . somefile.py

输出放置在当前目录中:

$ cat somefile.trace
    1: def foo():
    6:     for i in xrange(5):
    5:         a = 1 + i

    1: foo()

-c,--计数 程序完成后生成一组带注释的列表文件,显示每个语句的执行次数

如果使用-t选项你会得到这个:

$ python -m trace --count -t tr.py 
 --- modulename: tr, funcname: <module>
tr.py(1): def foo():
tr.py(5): foo()
 --- modulename: tr, funcname: foo
tr.py(2):     for i in xrange(5):
tr.py(3):         a = 1 + i
tr.py(2):     for i in xrange(5):
tr.py(3):         a = 1 + i
tr.py(2):     for i in xrange(5):
tr.py(3):         a = 1 + i
tr.py(2):     for i in xrange(5):
tr.py(3):         a = 1 + i
tr.py(2):     for i in xrange(5):
tr.py(3):         a = 1 + i
tr.py(2):     for i in xrange(5):
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中打印命令? 的相关文章

随机推荐

  • 在 VBA 中更改 HTML 电子邮件正文字体类型和大小

    我有一个 VBA 脚本 当在给定工作表中按下 VBA 按钮时 该脚本会生成并发送电子邮件 该脚本当前以相对较小的字体生成电子邮件 我想知道是否有办法将字体设置为 Calibri 并将文本设置为 11 这是当前的 VBA 脚本 Private
  • Backbone 对象渲染没有方法 apply - 绑定问题

    所以我在我的 AppView 中这样做 var flowerModel new app DataModel title flower values tulip rose dandelion dataToShow tulip rose dan
  • 确定 macOS Catalina、Big Sur 及更高版本中的卷组

    从 macOS 10 15 Catalina 开始 用户看到的卷实际上可能由多个卷组成 例如系统卷和数据卷 我正在编写一个需要单独识别这些卷的工具 因为当使用特定的文件操作时 例如searchfs and fts read 它们不跨越这样的
  • Visual Studio 2017,无法调试或运行应用程序

    今天我打开计算机后 我根本无法调试或运行该应用程序 如果我发布该项目 它就可以正常工作 但如果我从 Visual Studio 运行它 它就会卡住加载并且 Visual Studio 停止响应 以下是我强制退出应用程序时出现的错误 抛出异常
  • 添加到 WordPress 主题时 Bootstrap 日期选择器和时间选择器不起作用

    真的希望你能帮我解决这个问题 我迷路了 我已经添加bootstrap datepicker js https github com eternicode bootstrap datepicker and bootstrap timepick
  • .NET 中有自动排序的列表吗?

    我有一个收藏Layers它们有名字和颜色 我想做的是首先根据颜色对它们进行排序 然后根据它们的名称进行排序 class Layer public string Name get set public LayerColor Color get
  • 美丽汤 Unicode 编码错误

    我正在尝试使用特定 HTML 文件执行以下代码 from BeautifulSoup import BeautifulSoup import re import codecs import sys f open test1 html htm
  • 使用Delphi创建Win7跳转列表[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试使用 Delphi 在 Windows 7 上为我的应用程序创建跳转列表 我找到了这个 C 代码 但我不知道如何将其转换为
  • 循环迭代器命名约定[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们知道 不知何故 我们使用i and j循环中的变量非常常见 如果一个人需要双for循环 很可能会使用如下所示的内容 for int i 0
  • 单击

    看起来 active仅适用于background单击时的瞬间颜色
  • Ecto.Migrations.references/2 中的 on_delete 选项有什么作用?

    The 埃克托文档 https hexdocs pm ecto sql Ecto Migration html references 2描述了可用的选项references 2 但没有记录这些选项的作用 可用的选项有 nothing del
  • 如何在 JavaScript 中将公历日期更改为波斯日期?

    谁能帮我在 JavaScript 中将公历日期更改为波斯日期 我想在 HTML 和 JavaScript 中使用它 您可以使用toLocaleDateString let today new Date toLocaleDateString
  • DICOM 文件压缩

    我的工作需要使用 DICOM 文件 每个 DICOM 文件由单个目录中的许多 dcm 文件组成 我需要通过网络发送这些文件 由于文件很大 这个过程在某种程度上是这样的 我也是一名程序员 我想知道压缩此类文件的理想方法是什么 我说的是在本地计
  • Ruby - 如果 url 是重定向,如何下载文件?

    如果 url 是重定向 Ruby 如何下载文件 我正在尝试下载这个网址 soundcloud com stereo f cohete amigo download 重定向是这样的 ec media soundcloud com HNIGsu
  • 如何在 templatete js 之后包含组件 js

    我在 templatete index php 上添加了 javascript doc JFactory getDocument doc gt addScript this gt baseurl templates this gt temp
  • 获取终端中可用线路的数量

    如何找到终端中的可用线路数量 最好以跨平台的方式 但欢迎任何建议 甚至特定于操作系统 终端的高度和长度可以使用以下公式找到os https docs python org 3 library os html querying the siz
  • 暂停本地通知

    我正在开发一个警报应用程序 并为此使用本地通知 现在我想为我的闹钟添加贪睡功能 我在Google上搜索发现iPhone不支持此类功能 但还有其他方法可以做到这一点吗 据我所知 当通知窗口弹出时 您无法添加自定义行为 但 你可以这样尝试 用户
  • 我们如何创建一个更大的中心 UITabBar Item

    我想知道我们如何创建一个更大的中心 UITabBar 如下图所示 真的很漂亮 单击要突出显示的特定选项卡栏项目的视图控制器内的选项卡栏按钮 删除文本 只需将标签栏按钮的图像插入顶部设置为 25即可 就像下图一样 在那之后 goto asse
  • Vim 语法文件与 \zs 不匹配

    我试图通过更改 fsharp 语法文件中的这一行 来自this https github com fsharp vim fsharp插件 来自 syn match fsharpModule
  • 如何在Python中打印命令?

    我不从事编程领域 但最近对 Python 感兴趣 我正在编写一些函数 但为了调试 我需要查看正在运行哪些命令 例如 def foo for i in xrange 0 5 a 1 i 是否可以让解释器输出 gt gt gt for i in