Skip to content

Instantly share code, notes, and snippets.

View diegorocha's full-sized avatar

Diego Rocha diegorocha

View GitHub Profile
@diegorocha
diegorocha / openfile.py
Last active August 29, 2015 14:23
Exemplo de como abrir um arquivo com o aplicativo padrão do Sistema operacional
#!/usr/bin/env python
import os
import sys
import subprocess
def startFile(filepath):
if sys.platform.startswith('darwin'):
#MacOs
function TFormPrincipal.Assinar(pArquivoXML, pTagAssinar: String): Boolean;
var
Fentrada:File;
NumRead,i, resultado:integer;
buf: char;
S: string;
Util: OleVariant;
XMLString, tagAssinatura, Atributo, XMLAssinado, msgResultado: Widestring;
SL: TStringList;
begin
@diegorocha
diegorocha / examplo_popen.py
Last active August 29, 2015 14:21
Exemplo de utilização do Popen para chamar e interagir com outros programas
#!/usr/bin/env python
from subprocess import Popen, PIPE
cmd = 'uname -a'
p = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
out, err = p.communicate()
code = p.returncode
@diegorocha
diegorocha / recursionLimit.py
Last active August 29, 2015 14:17
Conversão da função teste de recursiva para interativa com o objetivo de não estourar o limite de recursão. (Dúvida da lista Python Brasil. Adaptado para pep8)
#!/usr/bin/env python
def teste(n, x=0):
if n == 0:
print n
print "--------------------------------------------"
print x
else:
print n
@diegorocha
diegorocha / exemplo_new_csv.py
Created February 20, 2015 19:27
Exemplo simples de escrita de itens de uma lista em um arquivo csv com Python. (Resultado de uma dúvida da lista PythonBrasil)
import csv
my_list = ["Matrix", "Blade Runner", "GodFather"]
new_csv = csv.writer(open("my_csv.csv", "wb"))
new_csv.writerow(["Nome do Filme"])
for row in my_list:
new_csv.writerow([row])
#!/usr/bin/env python
import requests
import BeautifulSoup
#Faz a requisição
req = requests.get('http://pcdsh01.on.br/HoraLegalBrasileira.asp')
#Obtem os dados no HTML
soup = BeautifulSoup.BeautifulSoup(req.text)
@diegorocha
diegorocha / frequencia.py
Created October 3, 2013 19:46
Desafio #3 da Globo.com na Python Brasil [9]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sys import argv
import unittest
class FrequenciaTest(unittest.TestCase):
def test_string_vazia(self):
self.assertEqual({}, frequencia(''))
@diegorocha
diegorocha / fatorial.py
Created October 3, 2013 19:44
Desafio #2 da Globo.com na Python Brasil [9]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from sys import argv
import unittest
class FatorialTest(unittest.TestCase):
def test_rNegativo(self):
self.assertRaises(ValueError, rFatorial(-1))
@diegorocha
diegorocha / pingpong.py
Created October 3, 2013 19:40
Desafio #1 da Globo.com na Python Brasil [9]
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Provavelmente existe a 3ª exceção:
Quando o número for múltiplo de 3 e 5 escrever 'ping pong' em vez do número.
"""
n = 1
while n < 101:
m3 = (n % 3 == 0)
@diegorocha
diegorocha / nand_nor.py
Created July 4, 2013 19:38
Um exemplo em Python de como fazer as funções NOT, AND e OR utilizando apenas as funções NAND ou NOR. O script produz uma tabela verdade que compara as três funções com as suas implementações alternativas.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" Funções básicas """
def nao(a):
a = int(a)
if a == 0:
return 1
if a == 1: