无法使用子进程在 python 中并行执行 linux 命令?

时间:2021-02-02 14:11:02

标签: python python-3.x linux multiprocessing subprocess

我当前的工作目录中有两个文件,

cwd:
    0.docx
    1.docx

from multiprocessing.dummy import Pool
import subprocess

def convert_to(source):
    args = [
        "soffice",
        "--headless",
        "--convert-to",
        "pdf:writer_pdf_Export",
        source,
    ]
    process = subprocess.Popen(
        args,
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
        shell=False,
    )
    return process.communicate()

pool = Pool()
print(pool.map(convert_to, ["0.docx", "1.docx"]))

现在,在执行上面的代码之后,如果我检查我当前的工作目录,

这是我看到的文件,

cwd:
    0.docx
    1.docx
    1.pdf

它只转换一个文件 (i.e., docx to pdf) 但假设代码同时执行并转换两个文件。

请帮忙。

0 个答案:

没有答案