如何在Windows上保存Python 2 idle / shell /命令提示符交互式会话?

问题描述 投票:0回答:2

我在Windows上运行计算几个小时,并希望将交互式IDLE / shell窗口中的计算报告/日志通过命令保存到文件末尾。很高兴退出()并关闭窗口。尽管我喜欢Linux,但这是一台无人值守的Windows机器,因此,一些模块/命令不可用,遗憾的是,安装其他软件的能力有限。开发人员没有想到在IDLE / shell中保存事务的命令这一事实令人惊讶。

我知道在某些环境中,您可以使用键-o, - o, - output,>将作业的输出(如报表)指向另一个文本文件。令人惊讶的是Python不支持这样的东西!

任何帮助将不胜感激谢谢

windows python-2.7 history python-idle
2个回答
0
投票

Windows命令提示符支持stdout重定向和可能的stderr重定向。我刚刚测试了python -c "print(test)" > F:/dev/tem/out.txt,打印出去了out.txt。用script.py替换-c“print('test')并且应该发生同样的事情。将一个程序的stdout用于stdin的另一个程序可能有用。你可能能够用.bat文件链接程序.PowerShell可能更强大而且灵活,但我从未使用过它。

我不清楚你在问什么,但我希望以下回答你的问题。

Python以2种模式运行:批处理和交互式。交互模式旨在与人类进行短暂的交互。批处理模式用于无人值守计算,偶尔显示屏幕消息,但大多数结果发送到屏幕以外的文件。运行python -i xyz.py时,两种模式都会合并。该文件首先以批处理模式运行,然后Python转换为交互模式。

听起来你应该使用批处理模式而不是Python或IDLE的交互模式。如果你的代码是从IDLE运行的,你应该可以使用你用来运行IDLE的python.exe直接运行它。当然,有一些例外情况,如果一个人的代码依赖于在IDLE中运行,但这不太可能是意外或无人值守运行所需要的。

IDLE Shell模拟交互式Python。当从编辑器窗口运行文件时,IDLE模拟python -i file-being-edited.py,屏幕输出将转到Shell。在任何一种情况下,交互式用户都可以使用File => Save As菜单命令保存Shell的内容。所以有这样的命令。还有关闭窗口和退出命令和快捷方式。

在IDLE的预期用途中,作为一个交互式python学习和程序开发环境,程序不需要发出这些命令。要将数据保存在文件中,程序可以打开文件并直接写入数据。


0
投票

试着看看你是否可以安装Jupyter Notebook(不是单独的软件,而只是一个python模块)

pip install jupyter

Jupyter笔记本非常有助于保存和共享代码。它既可以用作shell,也可以用作脚本编辑器。

© www.soinside.com 2019 - 2024. All rights reserved.