将命令的输出重定向到python中的文件,如何做

2024-07-02 11:05:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将命令的值输出到文件中。我试过:

threaddump() >> /dir/newdir/newfile.log

但它不起作用。在

那么,如何将命令的输出重定向到目录中的文件呢?python的版本是2.3.4。在


Tags: 文件命令版本目录logdir重定向newfile
1条回答
网友
1楼 · 发布于 2024-07-02 11:05:25

你的方法有一个误解。Python不是一个shell,而是一个简单的解释器。shell允许启动程序,它总是可以[1]向启动的程序提供一些上下文数据,如环境变量、当前工作目录以及用于重定向到文件的标准IO流(stdin、stdout、stderr)。因为任何Python函数都与调用者在同一进程中运行,所以它可以使用相同的全局对象,包括流。在

这给你留下了一些解决问题的方法:

  1. 临时重定向系统标准输出一个文件。如果更改被调用的代码不是一个好的选择,这尤其有用,否则我宁愿不这样做,因为它会影响整个过程。

  2. 从函数返回数据并将其打印到调用方站点的文件中。

  3. 向函数传递一个文件,该函数将打印到该函数。

[1]我所知的唯一例外是MS Windows CE,它没有环境变量、工作目录或传递标准IO流的方式。在

相关问题 更多 >