标签: flush

python日志记录是否会刷新每个日志?

当我使用标准模块日志记录将日志写入文件时,是否会将每个日志分别刷新到磁盘?例如,以下代码将日志刷新10次?

logging.basicConfig(level=logging.DEBUG, filename='debug.log')
    for i in xrange(10):
        logging.debug("test")
Run Code Online (Sandbox Code Playgroud)

如果是这样,它会慢下来吗?

python performance logging flush

52
推荐指数
1
解决办法
2万
查看次数

如果使用"using"语句,是否需要在流或编写器上调用Flush()?

Flush()如果我写这样的东西,我不确定是否需要调用使用过的对象:

using (FileStream...)
using (CryptoStream...)
using (BinaryWriter...)
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

它们总是自动刷新吗?什么时候该using声明冲洗它们,当它不(如果可能发生)?

c# using flush stream writer

42
推荐指数
1
解决办法
9965
查看次数

如何在Matlab或Octave中刷新disp的输出?

我在Octave中有一个程序有一个循环 - 运行一个带有各种参数的函数,而不是我可以变成矩阵的东西.在每次迭代开始时,我使用打印当前参数disp.

我第一次跑它时有一个很棒的警告,然后我也得到了这些打印件.现在我清理了它们,我不再看到它们了.我的猜测是他们被困在缓冲区中,当程序结束或缓冲区填满时我会看到它们.

有没有办法强制刷新打印缓冲区,以便我可以看到我的打印件?

matlab flush octave disp

38
推荐指数
4
解决办法
3万
查看次数

在Golang中没有缓冲http.ResponseWritter

我正在Go中编写一个简单的Web应用程序,我希望将我的响应流式传输到客户端(即,在请求完全处理后,不会缓冲并以块的形式发送):

func handle(res http.ResponseWriter, req *http.Request) {
  fmt.Fprintf(res, "sending first line of data")
  sleep(10) //not real code
  fmt.Fprintf(res, "sending second line of data")
}
Run Code Online (Sandbox Code Playgroud)

从客户端的角度来看,这两行将同时发送.任何建议值得赞赏:)

@dystroy回答后编辑

在我亲自制作的每次写入后都可以刷新,但在我的用例中,这还不够:

cmd := exec.Command("a long command that outputs lots of lines")
cmd.Stdout = res //where res is a http.ResponseWritter
cmd.Stderr = res
err := cmd.Run()
Run Code Online (Sandbox Code Playgroud)

我希望我的输出cmd也被刷新.无论如何要"autoflush"ResponseWritter?

我在golang的邮件列表上找到了帮助.有两种方法可以实现这一点:使用允许接管HTTP的底层TCP连接的劫持程序,或者在写入和刷新的go例程中管道命令的stdout和stderr:

pipeReader, pipeWriter := io.Pipe()
cmd.Stdout = pipeWriter
cmd.Stderr = pipeWriter
go writeCmdOutput(res, pipeReader)
err := cmd.Run()
pipeWriter.Close()

//---------------------
func writeCmdOutput(res http.ResponseWriter, pipeReader …
Run Code Online (Sandbox Code Playgroud)

http flush stream go

35
推荐指数
1
解决办法
2万
查看次数

close()暗示Python中的flush()?

在Python中,一般而言 - close()对文件对象的flush()操作是否意味着操作?

python operating-system flush

33
推荐指数
3
解决办法
1万
查看次数

c ++ force std :: cout flush(打印到屏幕)

我有以下代码:

std::cout << "Beginning computations..."; // output 1
computations();
std::cout << " done!\n";                  // output 2
Run Code Online (Sandbox Code Playgroud)

然而,问题是输出#1和输出#2经常(几乎)同时出现.也就是说,输出#1通常直到computations()返回后才会打印到屏幕上.由于输出#1的整个目的是指示某些事情在后台发生(从而鼓励用户耐心),因此这个问题并不好.

有没有办法强制std::cout缓冲区在computations()通话前打印?或者,是否有其他方式(使用其他东西std::cout)打印到标准输出,可以解决这个问题?

c++ cout flush

31
推荐指数
2
解决办法
3万
查看次数

endl并刷新缓冲区

C++入门书中,在第(1)章中,它提到了以下内容:

endl是一个特殊的值,称为操纵器,当写入输出流时,具有向输出写入换行符并 释放与该设备关联的缓冲区的效果.通过浏览缓冲区,我们确保用户将立即看到写入流的输出.

在这里"冲洗缓冲区"是什么意思?

c++ buffer flush

30
推荐指数
3
解决办法
2万
查看次数

在java.io.FileWriter中刷新

我有一个问题,在写入文件时,在关闭之前,我们应该包括flush()?? 如果是这样它会做什么呢?不流自动冲洗?编辑:

那么冲洗它实际上做了什么?

java flush stream filewriter

29
推荐指数
3
解决办法
4万
查看次数

PHP Flush有效......即使在Nginx中也是如此

每次循环执行时都可以回显吗?例如:

foreach(range(1,9) as $n){
    echo $n."\n";
    sleep(1);
}
Run Code Online (Sandbox Code Playgroud)

我不想在循环结束时打印所有内容,而是希望每次打印每个结果.

php flush nginx

28
推荐指数
5
解决办法
3万
查看次数

我需要做StreamWriter.flush()吗?

假设这个C#代码:

using (MemoryStream stream = new MemoryStream())
{
    StreamWriter normalWriter = new StreamWriter(stream);
    BinaryWriter binaryWriter = new BinaryWriter(stream);

    foreach(...)
    {
        binaryWriter.Write(number);
        normalWriter.WriteLine(name); //<~~ easier to reader afterward.
    }

    return MemoryStream.ToArray();
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 我是否需要在循环内使用flush以保持顺序?
  2. 回归MemoryStream.ToArray()合法吗?我使用using-block作为约定,我担心它会搞砸了.

c# memorystream flush streamwriter

27
推荐指数
1
解决办法
3万
查看次数