3
My doubt is on how after separating the lines into lists, I can also take these values and just do the append
of the right line (numero_linha
of function).
But also, manage to catch the whole line, and not only 10 positions of the txt phrase, as it is returning me to line 0 and 10 positions of this line.
Filing cabinet musica.txt
:
Roda Viva
Chico Buarque
Tem dias que a gente se sente
Como quem partiu ou morreu
A gente estancou de repente
Ou foi o mundo então que cresceu
A gente quer ter voz ativa
No nosso destino mandar
Mas eis que chega a roda viva
E carrega o destino pra lá
Roda mundo, roda-gigante
Roda moinho, roda pião
O tempo rodou num instante
Nas voltas do meu coração
A gente vai contra a corrente
Até não poder resistir
Na volta do barco é que sente
O quanto deixou de cumprir
Faz tempo que a gente cultiva
A mais linda roseira que há
Mas eis que chega a roda viva
E carrega a roseira pra lá
Roda mundo, roda-gigante
Roda moinho, roda pião
# função para ler, extrair valores do TXT
def extrai_linha_txt(nome_arquivo: str, numero_linha: int):
palavras_linha = []
# le o arquivo com o comando 'with' utilizando o parametro 'nome_arquivo'
with open(file=nome_arquivo, mode='r', encoding='utf8') as fp:
# extrair linha do arquivo utilizando o parametro 'numero_linha'
linha = fp.readline()
count = 1
# quebra a linha em palavras com o comando split ' '
while count < numero_linha:
linha = linha.rstrip('\n')
linha_formatada = linha.split(sep=' ')
palavras_linha.append(linha_formatada)
count += 1
return palavras_linha
# chamada de função com parâmetros da linha selecionada
linha10 = extrai_linha_txt(nome_arquivo='./musica.txt', numero_linha=10)
print(linha10) # deve retornar ['Mas', 'eis', 'que', 'chega', 'a', 'roda', 'viva']
You could [Dit] your question and fix the indentation of your code?
– fernandosavio
And you call a function to process line 11 of your file, but you are waiting for it to return to line 10 (if you start counting from 1).
– fernandosavio
Opa, I thank @fernandosavio! I’ve edited and adjusted the indentation. Yes, I just passed 11 to come from 0 but I’m using a Count already starting with 1. But even so, only returns me [['Wheel', 'Viva'], ['Wheel', 'Viva'], ['Wheel', 'Viva'], ['Wheel', 'Viva'], ['Wheel', 'Viva'], ['Wheel', 'Viva'], ['Wheel', 'Viva'], ['Wheel', 'Hurrah'], ['Wheel', 'Hurrah']]
– Asher