Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Importar Date no Arquivo

Boa Tarde:

Estou iniciando os estudo em Python e minha dúvida é a seguinte. Como faço para importar date em um arquivo externo? Ex: tenho meu arquivo biblioteca.py e quero obter o ano atual

        def ...
        def ...

    def calcular_idade():
        print 'Digite o Ano de Nascimento'
        ano_string = raw_input()
        ano_digitado = int(ano_string)    
                ano_atual = date.today().year
        print 'Idade Atual: %s' % (2016 - ano)

Preciso carregar no inicio do arquivo biblioteca.py ??

Grato ...

4 respostas

Oi Willian tudo bem? Para você pegar a data atual precisa fazer uso do módulo datetime, e então, a partir dele, você pode acessar o objeto date que possui o método que você precisa... Entretanto, analisando o seu código percebi que você está fazendo uma operação de subtração entre uma string e um int. Portanto, será necessário realizar os seguintes passos:

  • Importar o módulo datetime.
  • Usar o módulo datetime para fazer uso do objeto date.
  • Converter a variável ano_string para int no momento em que for realizar a subtração.

Passo a passo

1 - Importando o módulo datetime:

import datetime

2 - Fazendo uso do objeto date:

datetime.date.today().year

3 - Convertendo string para int:

int(ano_string)

Código final

O código final fica da seguinte forma:

import datetime

def...
def...

def calcular_idade():
    print 'Digite o Ano de Nascimento'
    ano_string = raw_input()
    ano_digitado = int(ano_string)    
    ano_atual = datetime.date.today().year
    print 'Idade Atual: %s' % (ano_atual - int(ano_string))

calcular_idade()

Boa Noite Alex:

Legal, era isso mesmo q precisava. Quanto ao int já tinha corrigido, só não sabia do import como era. Depois vi alguns lugares que utilizam o seguinte import: from datetime import datetime. É necessário dessa forma? Grato ...

Boa noite William

Entendi, eu comentei pq me baseei no seu código... Enfim, sobre o import do jeito que você viu é o seguinte, quando você faz apenas o import significa que você só vai poder acessar os atributos e funções do módulo usando o prefixo dele, por exemplo:

import datetime

print datetime.date.today()

Esse código acima está acessando a função date.today(), porém, precisa do datetime antes. Caso você fizesse um from datetime import date você poderia acessar o date.today() sem o prefixo datetime, por exemplo:

from datetime import date

print date.today()

Veja que dessa forma você não precisa escrever datetime para acessar o date.today(). Em outras palavras, seguindo o exemplo que você mencionou em sua resposta que no caso é esse from datetime import datetime, você tem acesso à função datetime.today(), em código ficaria assim:

from datetime import datetime

print datetime.today()

Era isso que precisava?

Abraços.

solução!

Opa, bom dia Alex:

Blz, entendi perfeitamente. Obrigado, foi de grande ajuda.

Abraço