我在Windows上运行计算几个小时,并希望将交互式IDLE / shell窗口中的计算报告/日志通过命令保存到文件末尾。很高兴退出()并关闭窗口。尽管我喜欢Linux,但这是一台无人值守的Windows机器,因此,一些模块/命令不可用,遗憾的是,安装其他软件的能力有限。开发人员没有想到在IDLE / shell中保存事务的命令这一事实令人惊讶。
我知道在某些环境中,您可以使用键-o, - o, - output,>将作业的输出(如报表)指向另一个文本文件。令人惊讶的是Python不支持这样的东西!
任何帮助将不胜感激谢谢
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学习和程序开发环境,程序不需要发出这些命令。要将数据保存在文件中,程序可以打开文件并直接写入数据。
试着看看你是否可以安装Jupyter Notebook(不是单独的软件,而只是一个python模块)
pip install jupyter
Jupyter笔记本非常有助于保存和共享代码。它既可以用作shell,也可以用作脚本编辑器。