我有一个要在 IPython 中运行的 Python 脚本。我想将输出重定向(写入)到一个文件,类似于:
python my_script.py > my_output.txt
当我在 IPython 中运行脚本时,我该怎么做,比如 execfile('my_script.py')
有一个 较旧的页面 描述了可以编写的函数来执行此操作,但我相信现在有一种我找不到的内置方法可以执行此操作。
原文由 wwwilliam 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个要在 IPython 中运行的 Python 脚本。我想将输出重定向(写入)到一个文件,类似于:
python my_script.py > my_output.txt
当我在 IPython 中运行脚本时,我该怎么做,比如 execfile('my_script.py')
有一个 较旧的页面 描述了可以编写的函数来执行此操作,但我相信现在有一种我找不到的内置方法可以执行此操作。
原文由 wwwilliam 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
IPython 有自己的上下文管理器来 捕获 stdout/err ,但它不会重定向到文件,而是重定向到一个对象:
并且此功能在
%%capture
cell-magic 中公开,如 Cell Magics 示例笔记本 中所示。这是一个简单的上下文管理器,因此您可以编写自己的版本来重定向到文件:
您将调用它: