将子进程Popen从文件更改为Django InMemoryUploadedFile

时间:2019-07-06 12:37:05

标签: python django subprocess

我有一个函数需要filename作为输入参数并返回list of str

import subprocess
def get_length(filename: str) -> typing.List[str]:
    result = subprocess.Popen(["ffprobe", filename],
                              stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    return [x.decode('utf-8') for x in result.stdout.readlines() if "Duration" in str(x)]

在Django应用程序中。我将其与InMemoryUploadedFile一起使用。我的快速解决方案是通过video_instance.video.path访问并将其传递给函数。

问题:
是否可以让我的get_length()InMemoryUploadedFile而不是物理文件中读取?

0 个答案:

没有答案