Neste vídeo, vamos adotar uma abordagem diferente para obter uma lista de todas as
músicas de um determinado álbum ou artista.
Então, um problema com a abordagem anterior, que se baseou nos nomes de nomes e diretórios, é que você
pode não ter uma estrutura falsa tão bem organizada e obter a música de fontes diferentes.
Então o telefone é mais conhecido usado para assinar Peten de amostras.
Alguns desses últimos dias foram ótimos para demonstrar como trabalhar com arquivos
e diretórios.
Isso não é necessariamente a melhor maneira de atingir o objetivo original que era preencher o banco de dados
de música de uma coleção de discos.
Então, neste vídeo vamos avaliar os IDs de três tags dos três arquivos no disco.
Agora, para fazer isso, vamos precisar de um gerador que retorne o caminho completo do nome de um
arquivo de pastelaria.
Então isso é um desafio.
Tudo bem, então o desafio é criar um gerador que retorne o nome formal completo de todos
os MP 3 até o ponto em que a idéia geral deveria começar no diretório especificado, o início que
será fornecido como um documento para a função geradora.
Agora os quatro nomes devem incluir o caminho completo do diretório stat especificado.
Por isso, deve retornar um caminho relativo.
Agora é uma boa ideia tornar a função de gerador um pouco mais genérica.
De repente, ele pode lidar com qualquer extensão.
Então eu passei a extensão como um segundo parâmetro para essa função.
Agora é um extra opcional.
Você poderia tornar o passe absoluto para que eu especifique o telefone que eu sou da raiz da unidade ou volume.
Confira a documentação do módulo os se você quiser fazer isso.
Agora, se você não tiver nenhum arquivo MP real, poderá usar o diretório de músicas dos vídeos anteriores e
procurar por um MP de três arquivos, em vez de em revólveres.
Certo, então esse é o desafio.
Veja aqui você vai com isto.
Pause o vídeo e volte quando estiver pronto para passar pela minha solução.
Tudo bem, então a solução para esse desafio é que é muito parecido com o que já fizemos.
Então, vamos usar as horas para percorrer o gerador para parar os diretórios e
depois filtrar os arquivos que correspondem à extensão.
Então, para criar um novo
arquivo e eu vou chamar este.
E a paz foi verificada.
Nós vamos começar importando Eu acho que eles vão importá-lo na partida eles vão parar primeiro
e criar uma função famosa e chamar isso de encontrar uma música da escola para dizer que ele
nos parou por extensão entre parênteses dois pontos
Quero dizer que o paff top vem do diretório Aspies de fósseis espaciais em horas
a pé começa entre parênteses Kallen para arquivo em se em jogo começar a arquivos de comércio.
O único ponto bastante Stara.
Então nós passamos pelo que Kelly Brice e uma única frase enrolando uma extensão
de formato de ponto suicida Kallen depois de fechar os dois parênteses Ruprecht o rendimento do Monitor CS.
Eu fui ensinado caminho para se juntar a uma impressão o caminho cum um tempero seguir e
vamos realmente tentar algo para falar para F sozinho 11 no estrangeiro em uma música da
escola e cantando música calma cantando handpiece tempero bastante calmo cada citações e, em seguida, na impressão para ver o
que imprimir para dizer em impressão, se entre parênteses e inclinar-se nesse campo, é claro que precisamos de uma chamada.
OK, no vídeo anterior, passamos ao Asterix o caractere curinga como parte da string piramidal.
Dizer aqui o que eu fiz foi ver que isso estava em Law e sete decidiram restringir o formato
incluindo o Asterix no filme para Paten.
Agora eu acho que você poderia fazer argumentos a favor e contra cada abordagem.
Neste caso, o chamador não precisa se preocupar com o formato do Peten Acabei de passar a extensão
como um argumento.
Isso significa que a boa música não é tão flexível quanto poderia permitir que a extensão do arquivo
seja exibida.
Mas você já viu duas abordagens diferentes para filtrar.
Você pode escolher o que for mais apropriado para sua aplicação específica.
Tudo bem, então isso está retornando todos os itens estrangeiros em relação a um diretório de trabalho atual para
que ele comece com música.
Mas se quisermos que o Pott absoluto usaria a função de caminho IBS do caminho de parada.
Então vamos apenas tentar rodar isso.
Se fizermos isso, digamos que estamos obtendo um envoltório que está funcionando bem, então pare com isso.
Então, novamente falando sobre caminhos absolutos.
Como vamos lidar com isso?
Bem, na verdade é uma função que podemos usar para isso.
Então, o que fazemos é depois da queda dos quatro seguintes.
Se no filtro combinado, o riso deve ser absoluto e o caminho da pontuação é igual a.
Eu pararia de seguir o caminho.
Absoluto Positano significa caminho e então eu mudo e X não.
Então, estamos recriando
a recriação do caminho absoluto.
Embora
eu gostei e depois usamos na unidade.
Por favor,
vá em frente e mude esse caminho.
Agora, claro, o caminho absoluto que falta a partir disso é dizer que ele funciona e indo para o topo e você pode dizer que eu
trabalhei um longo caminho sobre aquele.
Mas você pode dizer que, obviamente, esse caminho está funcionando em um caminho absoluto, em seguida, a árvore a cada queda.
Então para.
Tudo bem, para que não cheguemos ao caminho completo dessa queda correspondente e que poderia ser mais útil se quiséssemos armazenar
as partes em um banco de dados para que o nosso programa de reprodução de música pudesse tocar as músicas, por exemplo.
Observe como não criamos explicitamente um objeto gerador.
Você pode simplesmente usar seus geradores em um loop e cuidar de criar o gerador e os quatro
cuidam de criar o gerador e repetidamente chamar o próximo nele.
E se você criou o objeto gerador e faz um loop sobre ele, também está bem.
Então você poderia ter feito algo assim.
Então eu fiz meus arquivos de música da escola para encontrar outras músicas
da escola em citações simples de Spice e MP 3.
Então, se fosse assim, isso seria totalmente aceitável também.
E obviamente ele fez isso porque então você provavelmente mudou os leucócitos para ele.
Nas minhas formas de música da velha escola, podemos executar isso e, obviamente, obtemos o mesmo resultado.
Então, basicamente, estou dizendo por que também acho que obtemos os mesmos resultados em cada sentido.
Tudo bem, então esse é o desafio concluído.
Agora, o motivo para criar isso é para que possamos percorrer todos os arquivos do MP em três arquivos
e obter os detalhes da música a partir das tags.
Agora, caso você não esteja familiarizado com tags e arquivos de música que realmente têm players de
música, é possível exibir o título da música ou até mesmo uma imagem do álbum da capa do álbum.
Agora há uma declaração detalhando a arte das três etiquetas de identificação usadas em rifles de paz.
Então eu estou indo para um navegador.
Vamos apenas dar uma olhada rápida.
Portanto, este site contém tudo o que você precisa para ter o que precisa, caso queira que ele escreva
seus próprios programas para ler as tags.
Então, se você quiser fazer isso, tenha uma boa leitura das informações deste
site para encontrar o formato dos dados que serão tratados.
Vamos nos aprofundar na reformatação dos arquivos MP 3.
Mas uma pergunta que nos perguntam frequentemente é o que precisamos ler e escrever em Barnby.
Estamos lendo os IDs. Três tags dos arquivos de música são um exemplo onde você precisa fazer isso.
E, de fato, se algum dos seus arquivos de música não tiver algumas tags, como a música do artista,
também você pode usar a técnica anterior e tentar descobrir os valores corretos nos
tempos seguintes.
Seu programa poderia então executar as tags de volta no arquivo com os arquivos corretos.
Agora, trabalhar com um formato de arquivo binário para fazer com todas essas três tags é mais complicado do que difícil.
Mas, felizmente, Batchelder criou uma pausa e muito tudo isso faz um bom trabalho de
leitura.
As tags mais comuns que você sabe que existem outras partes dos lobbies e a maioria delas também permite
que você escreva tanques, bem como lê-los agora no caso do Netz mojo Lenny ler o texto, mas isso é uma
coisa boa, porque não há chance de destruir sua coleção de músicas trabalhando com este vídeo.
Em outras palavras, você Wimpey três arquivos estarão abertos para leitura apenas para que eles sejam Quartzsite.
Agora, se você estiver interessado em suas idéias de programa de análise, leia-o quando colocar o link para isso.
Você pode ir e pegá-lo, já que você pode ver as linhas lá em cima usando Porth e dois pontos sete.
Você pode baixar o pop pop pop do link na página e copiá-lo para o diretório do projeto.
Agora, felizmente, não funciona como parte dos três.
Então, o que fizemos foi produzir uma versão 3 possível a partir do código original do Ned.
Então, se você estiver usando o download do Python 3 para já ler.
Desculpe a 3 Rita da ATI foi legal.
Por favor, veja a seção de recursos deste vídeo e coloque isso nos próprios diretórios do seu projeto.
Agora, usar a leitura dos IDs é sempre muito fácil.
Você realmente cria um novo objeto e fornece um caminho para um arquivo NPC e obviamente temos que importar
o módulo primeiro, é claro.
Vamos apenas voltar para a borda da Intel.
Eu vou realmente postar isso porque eu não queria criar nenhum novo caminho de arquivo e cair
e vou chamar esse que já mencionei.
Desculpe Rita eu não marcar a página 3.
Esta é a versão da árvore de palma da queda e isso não funcionou.
Deixe-me copiar esse código e tente novamente que seja melhor.
Parece que na verdade é postado incorretamente desta vez e novamente você pode pegar
isso da seção de recursos.
Tudo bem, então essa é a queda se pudermos voltar ao nosso exemplo aqui na varredura P3.
Nós só precisamos criar um novo objeto e fornecer um caminho para uma string vazia.
Queda doente deixa você fazer o resto, mas obviamente começar com.
Ir para importar o módulo primeiro.
Vamos fazer isso.
Então, vamos importar as ideias de bunda de pastel D-3 Rita e Wisco para o leitor.
A versão de baixo três, então o que fazemos é aqui e em torno de meia volta completa.
O que eu faço é tratar é igual a três.
Rita começa Rita com um maiúsculo e então F entre aspas como entre parênteses em vez de imprimir.
Quer expandir o tipo de impressão de impressão de quites print artista DIS-EASE Colan spice.
Isso é certo chaves vêm um tempero Abal com uma capital.
Eu joguei fora Spice de Kinlay Bryce após a chamada de faixa de coma em tempero.
O que pode ser Brice veio para temperar.
Então eu quero obter pro-oeste do cólon os preços de preços corretos após o tempero e, em seguida, bastante formato Dalt,
mas o formato vai começar com esses três.
Ha
Pensei que eu era legal valor.
O primeiro vai ter desempenho em aspas simples aparecerem.
Isso é muito difícil de obter no valor da escola ensinada às crianças na escola que a impressora tem idéias
de Talban para você.
Dê-nos a impressão de Covelli para a segunda faixa de aspas simples e, por último, o Adi não está nos dando
pedidos interessantes para parênteses da Covelli. Seja como for,
isso é bastante simples e gerar a responsabilidade de conseguir os fonóides primeiro.
E eu principalmente posso focar neles usando os três já leu um módulo para ler as informações das tags, agora vamos obter um
erro com o cartão dele quando eu o executar.
E isso é porque quando portar para uma queda MP 3 e essa regra em paz, adicione outra regra.
MP 3 arquivos para os arquivos de peça são apenas texto simples e realmente não contêm qualquer informação de etiqueta que
é três módulo Reedham parece não lidar muito bem, então eu vou correr apenas para confirmar, mas eu deveria
ter um erro aqui.
E, surpreendentemente, conseguimos uma em nossa série e vemos o argumento inventado.
E mais uma vez isso não é realmente surpreendente.
E nós não deveríamos estar tentando fazer as tags da Adi a partir de pequenos arquivos de texto, mas
nós realmente deveríamos lidar com isso e graciosamente passar para o próximo outono se conseguirmos um inválido na lista.
Então isso soa como outro bom desafio.
Tudo bem, então o desafio é modificar o programa para lidar com todas as exceções que são levantadas
pelo ID 3 ler um módulo.
Portanto, se uma exceção for encontrada, registre o nome do arquivo na lista e vá para o próximo arquivo.
Então, uma vez que o loop termina bonito em todos os arquivos que causaram um erro.
Então esse é o seu desafio.
Então aqui vai você.
Poste o vídeo e volte quando estiver pronto para ver minha versão da solução.
Poste o vídeo agora.
Tudo bem então, para minha solução, vou começar criando uma lista vazia.
E isso vai ser para armazenar os nomes de quaisquer arquivos com problemas que tentamos processar.
Então, eu vou descer aqui e colocar este dia em linha e 15 rodadas na segunda lista de chamadas da era superior.
Ele vai para a direita preços quadrados.
Então, adicionando uma lista vazia ou criando uma lista vazia, então pegue a próxima lá que realmente salta.
E o que precisamos fazer então é outro loop.
Precisamos adicionar um cólon Troy Troy.
Eles querem colocar todo esse código destinado ao próximo nível.
Então eles vão adicionar um exceto, exceto que
ele será pelo menos fixado.
Se o vídeo for um tratamento de exceção ou sugerir que eles geralmente não devem capturar todas as
exceções, ninguém deve ser específico e lidar com exceções específicas.
Você sabe que sempre há exceções.
Pun pretendia com qualquer regra.
E aqui precisamos gravar todos os arquivos que causam um problema.
Qualquer que seja o problema em casos como este, é válido apenas capturar todas as exceções.
Se algo der errado, gravamos o nome do arquivo para que o usuário possa investigar o problema.
É atraente, no entanto, todas as exceções são realmente aceitáveis ​​neste caso.
Tudo bem, então o último passo agora é fingir que todos os nomes foram liberados.
Então vamos em frente e fazer isso.
Então, vamos fazer isso de baixo para a era das especiarias e para o tempero da escola no ar
na escola, na verdade, na escola de Arundel.
É chamado de uma impressão de Eriphyle.
E se você executar este programa, devemos seguir isso.
Recebemos cada oito pastelarias seguidas de um impresso que não surpreende que todos os envolvidos na paz girem.
A polícia confirmou isso e você tem um segundo para terminar.
E lembre-se também que você pode realmente executar isso com o PCF rulin sempre ver como isso realmente funciona.
Se você tem alguns dos seus próprios arquivos NPC, sugiro que seja uma boa idéia ir em frente e testar
isso.
Mas Theiss brilhante peça se recusa a confirmar que isso realmente funciona.
Tudo bem, então você pode dizer aqui que temos uma lista de todos os arquivos
que são inválidos, o que é basicamente todo outono novamente, porque o ENP não é inválido.
Agora, a outra coisa que você pode notar é executar no primeiro ano um pequeno número de arquivos e
vê-los retornando para as tags.
E isso é por causa de um falso alto o suficiente para que a tentativa de ler as tags não cause um
erro, apenas não retornará a tag válida.
Claro, e é por isso que estamos conseguindo.
Tudo bem, então é isso que parece com arquivos inválidos e PC.
Mas vamos apenas executar isso apenas para ter certeza de que funciona com revólveres válidos.
Então eu tenho alguns dos meus computadores para executar como um teste que eu comprei.
Então você precisa ter alguns arquivos P3 válidos se quiser fazer este teste apenas
para vê-lo.
Eu realmente tenho uma foto aqui e eu tenho alguns dos meus favoritos.
Eu vejo o contraste de Daisy e Addo, como você pode dizer que temos Paul, que eu uso para giz uma música de teste de desktop.
Então o que eu quero fazer agora é mudar isso para apontar para essa pasta.
O que eu vou fazer é tipicamente aquela linha na primeira linha do
Cointet e vou mudá-la para apontar para algum veludo no lugar antes, então o usuário usa a Metalka apenas para testar a porta de música para ter as
últimas quatro barras.
Bem, se nós executarmos isso agora, eu terei alguns bons resultados.
ESTÁ BEM.
E a razão para isso é que você não está recebendo erros, o que é bom, porque eu
não mudei o top quatro para estar no lugar, porque, obviamente, agora estamos lidando com baladas nas chuvas.
Vamos seguir em frente e executar isso novamente.
Quero dizer, estamos recebendo alguns dados, como você pode ver agora, o que esperaríamos obter.
Então, digamos que você também tenha algumas músicas da Adele.
Claramente, entre o artista e o álbum, a faixa e também o nome da música, é óbvio
que vocês estão tentando fazer isso.
Ou é o nosso apenas comentou dizer que você pode rodar isso usando o formato P3, se você quiser no seu computador, um
artista descomente que você vai ver mudar esse caminho para o que for apropriado para o
seu sistema operacional.
Tudo bem então é isso.
Isso é geradores.
E como você viu, acho que há uma ótima maneira de lidar com grandes quantidades de dados sem usar toda
a memória do seu computador.
Agora eu tenho certeza que podemos pensar em todos os tipos de aplicativos, mas geradores serão dados
de streaming úteis, por exemplo, poderia usar regenerar.
E quando você procura por algo usando o mecanismo de busca do Google.
Ele exibe os resultados uma página por vez quando você clica para obter a próxima página de dados que é baixada
assim que você solicitar.
Portanto, o mecanismo de pesquisa do Google não faz o download de todos os milhares de resultados de pesquisa para o seu computador.
Agora, não tenho acesso ao código-fonte do Google, por isso não posso garantir que eles usem potes e geradores para
reter os resultados de pesquisa, mas isso é parte do desenvolvimento ou de qualquer outra coisa.
Russell estava trabalhando no Google.
É um bom palpite que eles realmente estão usando isso e é certamente uma aplicação
em que geralmente seria muito apropriado.
Certo, eu vou terminar este vídeo e discussões são geradores aqui no próximo
vídeo, vamos olhar para essas compreensões.
Agora eu mencionei algumas vezes no curso e é hora de descobrir o que são e
como usá-las.
Então eu vou te ver no próximo vídeo.