Uma maneira de operacionalizar tarefas diárias com python é utilizando o recurso crontab do linux que executa tarefas de acordo com seus parâmetros.
O primeiro passo é adicionar na primeira linha do seu arquivo python o cabeçalho que o torna executável. obs(não fica mais necessário utlizar python script.py).
#!/usr/bin/env python2
O segundo passo é dar permissão do arquivo de ser executável, para isso utilizamos o chmod +x script.py
o próximo passo é abrir a ferramenta crontab utilizando o comando crontab -e, abrirá um editor de texto com as configurações das tarefas que você pode ter já configuradas. Para adicionar a sua basta ir até o final do arquivo e configurar seu script.
A sequência de execução do crontab é primeiramente o tempo de MM HH DM M DS caminho do script / script.py >> caminho do log de execução /log.txt 2>&1 REF: http://www.infowester.com/linuxcron.php
Voilá!, após estas configurações seu script será executado de acordo com a data configurada.
Um blog de tecnologia que aborda diversos assuntos sobre tecnologia e desenvolvimento web.
quinta-feira, 25 de agosto de 2016
quarta-feira, 3 de agosto de 2016
Filtrando um dicionário em python
Um recurso muito útil é filtrar um ou vários objetos dentro de um dicionário, segue abaixo os exemplos de filtragem de objetos de um dicionário pela key (índice) e valor.
Primeiramente nosso dicionário de exemplo:
dict = {'conc_co':'monoxido_carbono','conc_pm':'material_particulado','umid_ar':'umidade_relativa', 'tmp_ar':'temperatura', 'vento_dir':'vento_direcao', 'vento_vel':'vento_velocidade'}
Agora o filtro pelo valor do objeto:
dict2 = {k: v for k, v in prefixos.items() if v == 'vento_velocidade'}
O resultado de dict2 será:
{'vento_vel': 'vento_velocidade'}
Agora filtrando pela chave do objeto:
dict2 = {k: v for k, v in prefixos.items() if k == 'umid_ar'}
O resultado será:
{'umid_ar': 'umidade_relativa'}
Primeiramente nosso dicionário de exemplo:
dict = {'conc_co':'monoxido_carbono','conc_pm':'material_particulado','umid_ar':'umidade_relativa', 'tmp_ar':'temperatura', 'vento_dir':'vento_direcao', 'vento_vel':'vento_velocidade'}
Agora o filtro pelo valor do objeto:
dict2 = {k: v for k, v in prefixos.items() if v == 'vento_velocidade'}
O resultado de dict2 será:
{'vento_vel': 'vento_velocidade'}
Agora filtrando pela chave do objeto:
dict2 = {k: v for k, v in prefixos.items() if k == 'umid_ar'}
O resultado será:
{'umid_ar': 'umidade_relativa'}
Removendo espaços em branco de uma string com python
Uma função para remover espaços em branco de uma string à esquerda, direita ou totalmente em python.
Removendo todos os espaços em branco de uma string
Removendo os espaços à esquerda
Removendo os espaços à direita
Removendo todos os espaços em branco de uma string
s = " \t a string example\t "
s = s.strip()
Removendo os espaços à esquerda
s = s.lstrip()
Removendo os espaços à direita
s = s.rstrip()
terça-feira, 2 de agosto de 2016
Substring em Python
O python trabalha com a manipulação de strings de uma maneira muito fácil, segue alguns exemplos de como fazer isso de uma maneira muito simples.
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'
quarta-feira, 22 de junho de 2016
Convertendo dados diversos para inteiro no python
Uma das dificuldades do python para quem já está acostumado com o tryparse() do c# é converter um objeto qualquer para outro tipo porém sem ter a certeza de que o mesmo está no formato correto e que não retornará um erro, como no python não existe nativamente, segue um exemplo de script que simula o tryparse() convertendo para inteiro.
def ignore_exception(IgnoreException=Exception,DefaultVal=None):
""" Decorator for ignoring exception from a function
e.g. @ignore_exception(DivideByZero)
e.g.2. ignore_exception(DivideByZero)(Divide)(2/0)
"""
def dec(function):
def _dec(*args, **kwargs):
try:
return function(*args, **kwargs)
except IgnoreException:
return DefaultVal
return _dec
return dec
sint = ignore_exception(ValueError)(int)
print sint("Hello World") # prints none
print sint("1340") # prints 1340
terça-feira, 14 de junho de 2016
Download de um shapefile via linha de comando com ogr2ogr
Um recurso muito fácil para realizar o download de um arquivo shapefile de um banco de dados Postgres com todos seu atributos.
ogr2ogr -overwrite -skipfailures -t_srs EPSG:4326 -f 'ESRI Shapefile' {shp} PG:'host={host} user={user} dbname={db} password={key}' -sql 'SELECT * FROM {table}'
Referência: http://www.gdal.org/ogr2ogr.html
Exportando uma query do Postgres para CSV
Um recurso muito útil do Postgres é o recurso de exportar o resultado de uma query para o formato csv que pode ser lido por diversos softwares.
Copy (Select * From tabela) To '/tmp/tabela.csv' With CSV DELIMITER ';' HEADER;
Assinar:
Postagens (Atom)