Problema com lista PYTHON

1. Problema com lista PYTHON

pedro silva
prodigy268

(usa Outra)

Enviado em 27/12/2018 - 14:16h



Gostava de ir ao meu ficheiro que contem o seguinte

['teste1', '27-12-18', '12/5/2015', 'Aberta']
['teste2', '27-12-18', '6/7/7', 'Aberta']
['teste3', '27-12-18', '12/5/6', 'Fechada']

e apenas mostrar se o 3 campo estiver Aberto tenho o seguinte codigo;

def mostrar():
#ler linha a linha
with open("ficheiro.txt") as arquivo:
for linha in arquivo:
if linha[3]=="Aberta":
print (linha)
else:
print("ola")
mostrar()

Alguem me consegue explicar o que devo fazer para corrigir?

Se fizer print(linha[3]) retorna e de teste e se meter linha[0] aparece [



  


2. Re: Problema com lista PYTHON

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 27/12/2018 - 14:32h

O problema com teu código é que o "ficheiro.txt" está em formato de lista, mas ao ler o arquivo ele está em formato de string.

Você precisa converter a variável linha em lista após ler o arquivo. Use a biblioteca ast para isso.

import ast

def mostrar():
#ler linha a linha
with open("ficheiro.txt") as arquivo:
for linha in arquivo:
linha = ast.literal_eval(linha)

if linha[3]=="Aberta":
print ("Aberta")
mostrar()



3. Re: Problema com lista PYTHON

pedro silva
prodigy268

(usa Outra)

Enviado em 27/12/2018 - 14:39h

Desculpe mas se nao houver problema me pode dizer como converter a linha em uma lista para nao usar a biblioteca e tambem para perceber melhor?


4. Re: Problema com lista PYTHON

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 27/12/2018 - 14:42h

linha = eval(linha) 







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts