【问题标题】:Python shell issue when using Data Nitro使用 Data Nitro 时的 Python shell 问题
【发布时间】:2013-06-14 09:30:56
【问题描述】:

我正在使用 DataNitro 在 Excel 中编写 Python 脚本。它确实非常有用。但是,当我在 excel 中打开 Idle 编辑器时,随附的 Python Shell 不是交互式的,因为它不返回打印语句,显示错误,什么都没有。每次我运行程序时它都会重新启动。这使得调试变得异常困难,因为我无法使用打印语句来跟踪错误。

有谁知道这是否是 DataNitro 的错误,或者应该是这样,或者发生了什么?有什么解决办法吗?

非常感谢

【问题讨论】:

标签: python python-idle datanitro


【解决方案1】:

我们的 IDLE 编辑器只是一个编辑器 - 它不能作为 shell 工作。

调试程序的最佳方法是引发异常。这将冻结脚本运行时打开的 shell,您将能够检查变量并查看执行期间生成的任何打印语句。

例如,如果你运行:

print Cell("A1").value
x = Cell("B1").value
raise

你会看到 A1 的值打印到 shell,你可以在提示符下输入“x”来查看 B1 的值。

您还可以将您正在处理的脚本导入常规 Python shell(当您按下“shell”时打开的那个)。这将执行该脚本中的代码。

我们将很快向网站添加调试代码的指南,以及一些使其更容易的功能。

资料来源:我是 DataNitro 的创始人之一。

【讨论】:

    【解决方案2】:

    没有 Ben 知识渊博,但已经使用 DataNitro 相当多,这里有一些提示:

    脚本运行后外壳会自动关闭。如果你想检查一些打印,甚至与我通常在脚本末尾放置的 shell 交互。

    raw_input("Press Enter to Exit shell")
    

    不是很优雅,但我什至创建了一个小循环,在控制台中显示文本选项。然后可以从那里与您的程序和工作表进行交互。更聪明和更优雅的方法是让你的脚本轮询一个 excel 单元格,然后在那里采取行动。

    您可能会觉得不错的是,您也可以运行 Ipython 而不是默认的 python shell。无法想象在没有 Ipython 的情况下使用 python ......因此您可以获得选项卡完成 Ipython 调试等的好处。要激活它,只需单击 DataNitro 设置中的“使用 Ipython”复选框(不知道这是否取决于版本)。

    【讨论】:

      猜你喜欢
      • 2023-03-15
      • 1970-01-01
      • 2023-01-04
      • 1970-01-01
      • 2021-11-05
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 2022-09-27
      相关资源
      最近更新 更多