python - 如何将 Python session (包括输入和输出)保存为文本?

标签 python

我有一个 Python 脚本:

x=1.
x

我想从命令行生成以下文本:
Python 3.7.4 (default, Aug 13 2019, 20:35:49) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> x=1.
>>> x
1.0

并将其保存到文件中。

这是我通过交互式复制和粘贴代码到 Python 解释器中可以获得的内容。

我考虑了以下消息:
  • How to save a Python interactive session?但这显示了如何保存 Python 语句,而不是控制台中的输出。
  • How can I save all the variables in the current python session?但这显示了如何保存变量,而不是 session 的内容。
  • how to save python session input and output正是我想要的,但没有答案。

  • 我考虑过
  • 使用 IPython 和 "%save"魔法,但这只会保存 Python 语句,而不是语句的输出,
  • 使用 Jupyter Notebook,但导出格式为 PDF、tex、HTML 等……而我只想要纯文本。

  • 任何帮助将不胜感激。

    最佳答案

    假设这是通过标准的 GNU/Linux 终端环境运行的,可以考虑 script命令来制作终端 session 的 typescript 。这对各种应用程序都很有用,而不是专门用于记录 python session 。基本上,在这种情况下如何使用它的顺序如下:

    $ script
    $ python
    >>> python commands
    >>> exit()
    CTRL-D
    cat typescript
    

    输出将在工作目录中的 typescript 文件中创建。它不是纯文本文件,但如果您只是希望记录 python,它非常接近。部分。

    关于python - 如何将 Python session (包括输入和输出)保存为文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59078333/

    相关文章:

    python - setup.py 未在 mac osx 中创建正确的文件夹/配置?

    python 3.x - Gmail api 获取标题和发件人

    python - Tensorflow 不更新权重

    python - 在 pandas 中向 groupby 添加额外行的最快方法

    python - 使用具有混合类型列的 rpy2 将 pandas df 转换为 R data.frame

    pythonnet clr 在 jupyter notebook 中无法识别

    python - aiohttp 与 asyncio 和信号量返回一个填充 None 的列表

    python - 使用 Pandas 进行条件切片(优雅的方式)

    python - 在MySQL-Python中使用INSERT INTO语句的语法错误

    python - TensorFlow Bool 或 Float 上的问题?