结合两个 subprocess.run() 命令以提高性能

时间:2021-07-27 13:52:20

标签: python subprocess popen

我目前正在使用名为 POV-Ray 的程序渲染乐高模型。该计划的细节与我的问题无关。我正在使用 python 的 subprocess 模块通过 Windows 命令提示符访问 POV-Ray。 我的代码有效,但速度很慢。它的工作原理如下:

  1. 调用可执行文件 LDView.exe 以将乐高模型导出为 POV-Ray 使用的 .pov 格式。
  2. 执行 POV-Ray 以使用一些预先确定的配置渲染 .pov 文件。

# Declare path executables
ld_view = "C:\\~\LDView64.exe" 
pov_ray = "C:\\~\pvengine.exe"

    # Export model to .pov file format with specified latitude / longitude / zoom
    subprocess.run(
        [
            ld_view,
            os.path.join(model_path, model_name),
            "-DefaultLatLong={}".format(config['DefaultLatLong']),
            "-DefaultZoom={}".format(config['DefaultZoom']),
            "-ExportFile={}_{}.pov".format(config['DefaultLatLong'], config['DefaultZoom']),
        ])
    
    # Render .pov file to .png file
    subprocess.run(
        [
            pov_ray,
            '{}_{}.pov'.format(config['DefaultLatLong'], config['DefaultZoom']),
            '+F',
            'Output_File_Type={}'.format(config['file_type']),
            '-D'
        ])

然而,这很慢。有没有办法将这两个命令结合起来,即不在结果目录中显式写入 .pov 文件?

0 个答案:

没有答案