option: 以list形式保存结果,顺序与输入的list对应
from concurrent.futures import ThreadPoolExecutor
def add_f(x,y):
# operations
print(x+y)
# return values
return x+y
param_list1 = []
param_list2 = []
for i in range(60):
param_list1.append(i)
param_list2.append(i+1)
# # single thread
# for param1, param2 in param_list:
# add_f(param1, param2)
with ThreadPoolExecutor(max_workers=30) as executor:
res = list(executor.map(add_f, param_list1, param_list2))
# if the function add_f has no need to save return values
# executor.map(add_f, param_list1, param_list2)
以list形式将命令存在command变量作为输入
e.g. 解压视频为图片
import subprocess
import os
video_path = '/home/xxx/test.mp4'
output_dir = '/home/xxx'
command = 'ffmpeg -f rawvideo -vcodec rawvideo -r 10 -s 1280x800 -pix_fmt yvyu422 -i'.split()
command.append(str(video_path))
path_stem = os.path.splitext(os.path.basename(video_path))[0]
command.append(os.path.join(output_dir, path_stem + '-%4d.png'))
# command =
# ['ffmpeg',
# '-f',
# 'rawvideo',
# '-vcodec',
# 'rawvideo',
# '-r',
# '10',
# '-s',
# '1280x800',
# '-pix_fmt',
# 'yvyu422',
# '-i',
# '/home/xxx/test.mp4',
# '/home/xxx/test-%4d.png']
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p.wait()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。