我在Windows上运行了几个小时的计算,并希望通过命令将交互式IDLE / shell窗口内的计算报告/日志保存到文件的末尾。 退出()并关闭窗口也很好。 尽管我喜欢Linux,但它是无人值守的Windows机器,因此,遗憾的是,某些模块/命令不可用,并且安装其他软件的能力受到限制。 开发人员没有想到在IDLE / shell中保存事务的命令这一事实令人惊讶。
我知道在某些环境中,您可以通过使用-o,-o,-output,>键将作业的输出(例如报告)定向到另一个文本文件。令人惊讶的是,Python不支持类似的功能!
任何帮助将不胜感激 谢谢
答案 0 :(得分:0)
尝试查看是否可以安装Jupyter Notebook(不是单独的软件,而只是python模块)
pip install jupyter
Jupyter笔记本对于保存和共享代码非常有帮助。它既可以用作外壳,也可以用作脚本编辑器。
答案 1 :(得分: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以两种模式运行:批处理和交互。交互模式旨在与人进行外围互动。批处理模式用于无人值守的计算,偶尔会显示屏幕消息,但大多数结果会发送到屏幕以外的文件中。当您运行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学习和程序开发环境,不需要从程序发出这些命令。为了将数据保存到文件中,程序可以打开文件并直接写入数据。