怎么优化 out = subprocess.check_output(command + [video_fn]).decode()
时间: 2024-05-29 19:13:51 浏览: 157
PyPI 官网下载 | kabaret.subprocess_manager-1.0.3.tar.gz
对于这个问题,我建议您可以尝试以下几种优化方法:
1. 使用Popen替代check_output
Popen函数可以分别调用程序的标准输出,标准输入和标准出错,而不必等待执行结果。使用此函数,您可以轻松地编写代码以处理超时,流媒体等。
2. 使用字节流作为输出解码
在调用decode()方法之前,使用raw_bytes = subprocess.check_output(command [video_fn])代替 out = subprocess.check_output(command [video_fn])。它将输出作为原始字节流返回,这样输出就不必解码为Unicode字符串。
3. 尝试缓冲传递标准输出
如果您不关心时序,则可以使用缓冲来读取长时间运行的进程的输出。这将使您可以以较小的块获取输出并避免缓冲溢出的问题。
以上是针对此问题的几种建议方法,你可以根据实际情况选择合适的方法来优化你的代码。希望能帮到你!
阅读全文