Verificar se contém partes

10 views
Skip to first unread message

Morgan Espindola

unread,
Sep 26, 2013, 10:13:02 AM9/26/13
to python...@googlegroups.com
Bom dia galera, sou novo aqui no grupo e preciso de uma ajuda,

Preciso verificar se uma variável possui um conteúdo, fora de uma sequência.

Por exemplo:
Eu mando gerar um arquivo de log com a seguinte sintaxe: 2013-01-10 11:33:11 - Email enviado com sucesso!
Mando abrir esse arquivo e não sei como descobrir se tem "2013-01-10" e "Email enviado com sucesso!".

É possível? Como fazer?

Obrigado.

Segue o código:

from datetime import date

today = date.today()

logFile = open("arquivo.log","r")

#Aqui eu quero comparar se o arquivo.log contem a data obtida na variável today e o texto "Email enviado com sucesso!".

Filipe Cifali

unread,
Sep 26, 2013, 1:54:08 PM9/26/13
to python...@googlegroups.com
Dois IFs não servem para essa validação?

Tipo:

>>> msg = "2013-01-10 11:33:11 - Email enviado com sucesso!"
>>> if "2013-01-10" in msg:
...     if "Email enviado com sucesso":
...         print "Deu certo?"
... 
Deu certo?



2013/9/26 Morgan Espindola <morgan.e...@gtt.com.br>
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para python-brasi...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
[ ]'s

Filipe Cifali Stangler

Filipe Cifali

unread,
Sep 26, 2013, 1:54:43 PM9/26/13
to python...@googlegroups.com
Estranho, ao colar aqui cortou um pouco:

>>> if "2013-01-10" in msg:
...     if "Email enviado com sucesso" in msg:
...         print "Deu certo?"
... 
Deu certo?




2013/9/26 Filipe Cifali <cifali...@gmail.com>

Danillo Souza

unread,
Sep 26, 2013, 2:00:30 PM9/26/13
to python...@googlegroups.com
Seja bem vindo Morgan.

Isso é até bem simples de se fazer. Você já abriu o arquivo, o passo seguinte é iterar as linhas desse arquivo, comparando se alguma delas começa com a data que você quer encontrar. Ou seja:

msg = "Email enviado com sucesso"

for line in logFile:
    if today in line and msg in line:
        print "Enviado com sucesso"

Andre Luis

unread,
Sep 26, 2013, 2:17:49 PM9/26/13
to python...@googlegroups.com
Outra opção:

$ python
Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> texto = '2013-01-10 11:33:11 - Email enviado com sucesso!'
>>> today = '2013-01-10'
>>> msg = 'Email enviado com sucesso!'
>>> re.match('^('+today+')(.){1,}('+msg+')$',texto)
<_sre.SRE_Match object at 0x7fb2adcba918>
>>> re.match('^('+today+')(.){1,}('+msg+')$',texto).group()
'2013-01-10 11:33:11 - Email enviado com sucesso!'
>>> re.match('^('+today+')(.){1,}('+msg+')$',texto).group(1)
'2013-01-10'
>>> re.match('^('+today+')(.){1,}('+msg+')$',texto).group(3)
'Email enviado com sucesso!'
>>>



--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "Python Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para python-brasi...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
"technology does not drive change - it enables change"
Reply all
Reply to author
Forward
0 new messages