Повторяющиеся процессы на питоне, но со смешанными переменными - PullRequest
0 голосов
/ 03 ноября 2018

В настоящее время я пытаюсь завершить сценарий для передачи ссылок из плейлиста YouTube через youtube_dl, чтобы иметь возможность передавать аудио с них на плеер на моем Raspberry Pi, но я не знаю, как повторить процесс, но меняю переменная автоматически без изменения каждого отдельного числа в массиве, например:

import os
import pafy
import youtube_dl as yt
from youtube_dl import YoutubeDL

links = ["http://www.youtube.com/watch?v=JaSfjAIcGpQ",
        "http://www.youtube.com/watch?v=pzAo3Hj15R4",
        "http://www.youtube.com/watch?v=hWdovALEen0",
        "http://www.youtube.com/watch?v=JVpTp8IHdEg",
        "http://www.youtube.com/watch?v=Pw-0pbY9JeU",
        "http://www.youtube.com/watch?v=lrfhf1Gv4Tw",
        "http://www.youtube.com/watch?v=ilw-qmqZ5zY",
        "http://www.youtube.com/watch?v=UwsY_foobEw",
        "http://www.youtube.com/watch?v=RSNmgE6L8AU",
        "http://www.youtube.com/watch?v=d020hcWA_Wg",
        "http://www.youtube.com/watch?v=O4irXQhgMqg",
        "http://www.youtube.com/watch?v=9P16xvwMQ5A",
        "http://www.youtube.com/watch?v=fregObNcHC8",
        "http://www.youtube.com/watch?v=fLN6ec7-43s",
        "http://www.youtube.com/watch?v=DcHKOC64KnE",
        "http://www.youtube.com/watch?v=UYwF-jdcVjY",
        "http://www.youtube.com/watch?v=jQcBwE6j09U",
        "http://www.youtube.com/watch?v=lXgkuM2NhYI",
        "http://www.youtube.com/watch?v=vabnZ9-ex7o",
        "http://www.youtube.com/watch?v=neNJvLIKaOk",
        "http://www.youtube.com/watch?v=k4V3Mo61fJM",
        "http://www.youtube.com/watch?v=pstVCGyaUBM",
        "http://www.youtube.com/watch?v=D8Ymd-OCucs",
        "http://www.youtube.com/watch?v=SeRJb3U1v3A",
        "http://www.youtube.com/watch?v=J0DjcsK_-HY",
        "http://www.youtube.com/watch?v=f2JuxM-snGc",
        "http://www.youtube.com/watch?v=Eyjj8BgsBGU",
        "http://www.youtube.com/watch?v=dX3k_QDnzHE",
        "http://www.youtube.com/watch?v=luM6oeCM7Yw",
        "https://www.youtube.com/watch?v=5iC0YXspJRM",
        "https://www.youtube.com/watch?v=BnOVufgbIzA",
        "https://www.youtube.com/watch?v=wwK_Kmh0P90",
        "https://www.youtube.com/watch?v=UYfh9YhUVdE"]


y = YoutubeDL({
    'format': 'bestaudio',
})
url = links[0]
r = y.extract_info(url, download=False)
print(r['ext'])
print(r['url'])

Я пытаюсь изменить часть "ссылки [0]" так что я могу повторить этот процесс, но не меняя номер вручную, а вместо этого делая это на python. Я все еще новичок в питоне.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Ответ выше кажется нормальным, просто добавим другие способы сделать это: Кратчайшая версия:

extracted_details_list = [y.extract_info(url, download=False) for url in links] # list comprehension

Длинная версия, может быть проще получить поток для циклов:

for i in range(len(links)):
    url = links[i]
    r = y.extract_info(url, download=False)
    print(r['ext'])
    print(r['url']
0 голосов
/ 04 ноября 2018

Как я понимаю, вы хотите перебрать список. Вы можете сделать это с помощью цикла.
Вот так:

for link in links:
    url = link
    r = y.extract_info(url, download=False)
...