【发布时间】:2016-12-13 05:26:51
【问题描述】:
有一些 shell 快捷方式可以将 python 标准输出保存到文件中,如下所示:
python code.py > file
python code.py >> file
python code.py &> file
但这不会保存我在 Ubuntu 16.04 LTS 中通过终端输入的标准输入。 有没有什么方法可以保存文本,就像我们只使用 shell 命令执行 python 脚本结束时显示的终端一样?
【问题讨论】:
-
也许这就是你要找的东西:man7.org/linux/man-pages/man1/script.1.html
-
sys.stdin 怎么样,你可以在循环中使用并读取标准输入并写入标准输出
-
@ReutSharabani 我的代码要求我将
KeyboardInterrupt退出程序并且脚本没有保存到文件中。所以我使用-f标志进行刷新。它保存成功,但只有cat typescript在终端上给出了正确的结果。如果使用文本编辑器打开该文件,则不会提供 utf-8 输出(我的终端的编码)。对于不可打印的字符(TAB、ESC 等),有硬编码的文本元素。我如何获得 utf-8? -
@mithatkonuk 我想要所有
print语句和stderr 语句(如果有的话)以及我的输入。我不想标准输出每个标准错误语句。 -
看看
script命令。
标签: python bash file stdout stdin