youtube-dl "ytsearchall:" -x --audio-format "mp3" --min-views 20000 -i --audio-quality 1 --no-playlist --skip-unavailable-fragments --match-filter 'duration < 900'我希望ytsearchall参数是一个包含搜索查询的文件。这是我正在尝试的python代码。
from __future__ import unicode_literals
import youtube_dl
f = open('b.txt', 'r')
for line in f:
youtube-dl "ytsearchall:line" -x --audio-format "mp3" --min-views 20000 -i --audio-quality 1 --no-playlist --skip-unavailable-fragments --match-filter 'duration < 900'发布于 2018-02-05 08:59:04
我不知道python,但是您可以使用GNUparallel (sudo apt install parallel;我省略了大多数选项来提高这里的清晰度):
parallel youtube-dl "ytsearchall:{}" -ix :::: /path/to/b.txt默认情况下,parallel并行运行多个作业,就像您有CPU核一样,这通常是一个很好的选择。如果您想设置并行运行的youtube-dl进程的数量,可以使用-j选项,例如两个进程的-j2。
或者,您可以使用一个while循环:
while IFS='' read -r l || [ -n "$l" ]; do youtube-dl "ytsearchall:$l" -ix; done 这两种方法都可以处理文件的最后一行,而不是按照设计以换行器( parallel )结尾,这是在测试命令[的帮助下的循环。
https://askubuntu.com/questions/1003132
复制相似问题