GVKun编程网logo

从IPython Notebook中的日志记录模块获取输出(python日志处理)

13

在这篇文章中,我们将为您详细介绍从IPythonNotebook中的日志记录模块获取输出的内容,并且讨论关于python日志处理的相关问题。此外,我们还会涉及一些关于iPythonNotebook清除

在这篇文章中,我们将为您详细介绍从IPython Notebook中的日志记录模块获取输出的内容,并且讨论关于python日志处理的相关问题。此外,我们还会涉及一些关于iPython Notebook清除代码中的单元格输出、IPython notebook:如何重新加载特定Python文件中的所有模块?、ipython-notebook – 如何在不启动内核的情况下使用Ipython Notebook / Jupyter打开笔记本?、ipython-notebook – 通过django_extensions使用时设置IPython Notebook保存目录的知识,以帮助您更全面地了解这个主题。

本文目录一览:

从IPython Notebook中的日志记录模块获取输出(python日志处理)

从IPython Notebook中的日志记录模块获取输出(python日志处理)

当我在IPython Notebook中运行以下命令时,看不到任何输出:

import logginglogging.basicConfig(level=logging.DEBUG)logging.debug("test")

有人知道怎么做,这样我才能在笔记本中看到“测试”消息吗?

答案1

小编典典

请尝试以下操作:

import logginglogger = logging.getLogger()logger.setLevel(logging.DEBUG)logging.debug("test")

根据logging.basicConfig:

通过创建具有默认Formatter的StreamHandler并将其添加到根记录器,对记录系统进行基本配置。如果没有为根记录器定义处理程序,则debug(),info(),warning(),error()和critical()函数将自动调用basicConfig()。

如果根记录器已经为其配置了处理程序,则此功能不执行任何操作。

似乎ipython笔记本在某处调用basicConfig(或设置处理程序)。

iPython Notebook清除代码中的单元格输出

iPython Notebook清除代码中的单元格输出

在iPython笔记本中,我有一个while循环,可print实时侦听串行端口和接收到的数据。

我想要实现的仅显示最新接收到的数据(即,仅一行显示最新数据。在单元格输出区域中不滚动)

我需要的是(我认为)当我收到新数据时清除旧的单元格输出,然后打印新数据。我想知道如何以编程方式清除旧数据?

IPython notebook:如何重新加载特定Python文件中的所有模块?

IPython notebook:如何重新加载特定Python文件中的所有模块?

我在一个文件中定义了很多模块,并从myFile import *添加到我的i python笔记本的第一行,这样我就可以将它用作这个笔记本中其他部分的依赖项.

目前我的工作流程是:

>修改myFile
>重启Ipython内核
>重新运行Ipython中的所有代码.

有谁知道是否有办法重新加载myFile中的所有模块而无需重启Ipython内核?谢谢!

解决方法

来自ipython文档:

In [1]: %load_ext autoreload

In [2]: %autoreload 2

In [3]: from foo import some_function

In [4]: some_function()
Out[4]: 42

In [5]: # open foo.py in an editor and change some_function to return 43

In [6]: some_function()
Out[6]: 43

您还可以通过执行以下操作将自动重新加载配置为自动执行:
ipython个人资料创建

并将以下内容添加到〜/ .config / ipython / profile_default / ipython_config.py中

c.InteractiveShellApp.extensions = ['autoreload']
c.InteractiveShellApp.exec_lines = ['%autoreload 2']
c.InteractiveShellApp.exec_lines.append('print("Warning: disable autoreload in ipython_config.py to improve performance.")')

注意:如果重命名函数,则需要重新运行import语句

ipython-notebook – 如何在不启动内核的情况下使用Ipython Notebook / Jupyter打开笔记本?

ipython-notebook – 如何在不启动内核的情况下使用Ipython Notebook / Jupyter打开笔记本?

让我们假设,我想打开一个笔记本(即使用我的本地Jupyter实例),但我不想用它启动相关的内核(即 Python).我怎样才能做到这一点?

可能的用例:

>我只想从以前的计算中输出笔记本.我不想做进一步的计算.
>我想快速浏览一下,而不是等待内核启动.

根据我的理解,所有LaTeX渲染,JavaScript和CSS应该独立于内核工作.它应该告诉我,内核没有连接.然后我可以决定通过菜单启动内核.

我没有在任何地方找到这个记录.

我不想使用nbviewer,因为我希望它能够在我正常的Jupyter工作流程中尽可能地集成.

解决方法

我没有使用Jupyter,只是在大分裂之前的最后一个版本的IPython,但是当我尝试打开一个带有与之关联的虚假内核的笔记本时,IPython让我打开它“没有内核”.因此,功能存在,但它不能直接访问AFAIK.

所以我想你只需要手动编辑.ipynb文件(或编写一个脚本来完成这个)并将全局元数据字段更改为这样的东西来实现你的目标:

"Metadata": {
  "kernelspec": {
   "display_name": "bogus","language": "bogus","name": "bogus"
  },"language_info": {
   "codemirror_mode": "<don''t change this>","mimetype": "text/plain","name": "bogus"
  }
}

这只是部分解决方法,但它似乎适用于所有情况.您仍需要在系统中使用正确的codemirror配置.

另一种方法是编写一个什么都不做的小内核(比如“Echo Kernel”),但这样效率会低一些,因为你仍然需要一种指定不同语法高亮模式的方法(除非你打算编写IPython笔记本) .

ipython-notebook – 通过django_extensions使用时设置IPython Notebook保存目录

ipython-notebook – 通过django_extensions使用时设置IPython Notebook保存目录

我通过 django_extensions使用I Python Notebook:

python manage.py shell_plus --notebook

这将Notebook文件保存到当前文件夹(Django项目文件夹).如何更改.ipynb文件的保存位置?

解决方法

您可以在〜/ .ipython / profile_projectname / ipython_notebook_config.py中使用这些参数更改存储和读取文件的目录,其中projectname是您的Django项目.

c.NotebookManager.notebook_dir = u’/path/to/files’

c.FileNotebookManager.notebook_dir = u’/path/to/files’

这似乎破坏了django的导入路径.我一直在尝试使用syspath来通过在启动目录中添加启动脚本来实现这一点,但还没有找到可行的解决方案.如果你找到了解决方案,请告诉我,因为我也希望将我的笔记本文件放在项目根目录之外.

我们今天的关于从IPython Notebook中的日志记录模块获取输出python日志处理的分享已经告一段落,感谢您的关注,如果您想了解更多关于iPython Notebook清除代码中的单元格输出、IPython notebook:如何重新加载特定Python文件中的所有模块?、ipython-notebook – 如何在不启动内核的情况下使用Ipython Notebook / Jupyter打开笔记本?、ipython-notebook – 通过django_extensions使用时设置IPython Notebook保存目录的相关信息,请在本站查询。

本文标签: