首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将包含查询的文件传递给youtube-dl?

如何将包含查询的文件传递给youtube-dl?
EN

Ask Ubuntu用户
提问于 2018-02-05 03:55:35
回答 1查看 1K关注 0票数 1
代码语言:javascript
复制
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代码。

代码语言:javascript
复制
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'
EN

回答 1

Ask Ubuntu用户

发布于 2018-02-05 08:59:04

我不知道python,但是您可以使用GNUparallel (sudo apt install parallel;我省略了大多数选项来提高这里的清晰度):

代码语言:javascript
复制
parallel youtube-dl "ytsearchall:{}" -ix :::: /path/to/b.txt

默认情况下,parallel并行运行多个作业,就像您有CPU核一样,这通常是一个很好的选择。如果您想设置并行运行的youtube-dl进程的数量,可以使用-j选项,例如两个进程的-j2

或者,您可以使用一个while循环:

代码语言:javascript
复制
while IFS='' read -r l || [ -n "$l" ]; do youtube-dl "ytsearchall:$l" -ix; done 

这两种方法都可以处理文件的最后一行,而不是按照设计以换行器( parallel )结尾,这是在测试命令[的帮助下的循环。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1003132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档