调试用Python编写的Ubuntu Nautilus脚本的方法

whi*_*one 5 python debugging scripting nautilus

在编写Nautilus脚本(例如使用Python)时,我目前了解两种基本调试方法:

  1. 使用(例如Zenity)弹出窗口作为"打印"语句.
  2. 捕获文本文件中的stderr和stdout以供以后参考.

这些方法工作得相当好,但我怀疑有更多有效的方法,我不知道.有谁能建议其他方法?

编辑:

上下文:我寻求方法来调试从Nautilus中的Ubuntu右键菜单启动的python脚本.

使用cedric使用--no-desktop选项重新启动nautilus的答案意味着stderr和stdout在终端窗口变得可见.但是,此终端似乎不能用作调试的pdb控制台(它似乎只是输出).

在我从右键菜单启动时搜索获取对脚本进程的输入和输出访问的方法时,我找到了下面的答案中列出的信息.

(另外,虽然我同意单元测试和记录是最好的做法,我认为目前仍然没有交互式调试,特别是小脚本的地方.)

小智 5

您要求的只是查看您的脚本输出,可以通过使用--no-desktop选项重新启动nautilus来完成:

$ nautilus -q
$ nautilus --no-desktop
Run Code Online (Sandbox Code Playgroud)

这样,您将看到脚本或python解释器生成的任何输出(stderr/stdout).应该有用...


Joh*_*web 1

使用 PyUnit 对您的脚本进行单元测试。

这将比“打印”语句更有效,并且可重复以帮助您防止回归。它还会降低脚本中留下临时调试代码的风险。