在Python中使用子进程启动mkvmerge

在Python中使用子进程启动mkvmerge,python,subprocess,Python,Subprocess,嗨,我正在尝试从我的python脚本运行mkvmerge。 我正在使用子流程模块来实现这一点 mkvmerge_args = [ "mkvmerge", "test.h264", '-o', "test2.h264", "--timecodes 0:timestamp.pts" ] returncode = subprocess.call(mkvmerge_args) 这是我正在编写

嗨,我正在尝试从我的python脚本运行mkvmerge。 我正在使用子流程模块来实现这一点

    mkvmerge_args = [
        "mkvmerge",
        "test.h264",
        '-o',
        "test2.h264",
        "--timecodes 0:timestamp.pts"
        ]
    returncode = subprocess.call(mkvmerge_args)
这是我正在编写的代码。问题是最后一个参数--timecodes 0:timestamp.pts“

我在说一个错误

错误:无法为打开文件“--timecodes 0:timestamp.pts” 读取:打开文件错误


我想知道的是,为什么子流程认为最后一个参数是一个文件。

0:timestamp.pts需要在它自己的行上

mkvmerge_args = [
        "mkvmerge",
        "test.h264",
        '-o',
        "test2.h264",
        "--timecodes ",
        "0:timestamp.pts"
        ]

您自己在终端中尝试过该命令吗?是的,运行mkvmerge test.h264-o test2.h264--timecodes 0:timestamp.pts工作正常