我有一个简短的脚本,需要每天晚上将多个MKV文件合并成一个
import os, glob
import subprocess
concatenated_files = ""
os.chdir("/cams/")
for index, file in enumerate(glob.glob("*.mkv")):
if index == 0:
concatenated_files = file
else:
concatenated_files += " + " + file
# print(concatenated_files)
returncode = subprocess.call("mkvmerge -o out.mkv " + concatenated_files)
我得到以下错误,只有几个文件
OSError: [Errno 63] File name too long: 'mkvmerge -o out.mkv video21-06-28_09-12-08-51.mkv + video21-06-28_07-55-36-80.mkv + video21-06-28_09-52-05-79.mkv + video21-06-28_08-47-56-69.mkv + video21-06-28_09-15-04-34.mkv + video21-06-28_09-32-43-25.mkv
我计划合并数百个,因此不确定如何使用Python对这种情况进行排序。从外壳上看效果很好
也许使用只有三行代码的shell脚本更简单、更清晰:
subprocess.call()第一个参数“args”是一个列表
所以我认为应该是这样的:
相关问题 更多 >
编程相关推荐