Ouvi dizer que é baixar uma página com IronPython exige mais linhas de código do que usando CPython e urllib2. É verdade?
Não. É possível baixar uma página em IronPython com a mesma quantidade de linhas que se usaria com o urrllib2.
Como que eu faço isso?
É bem simples. Veja:
>>> from System.Net import WebClient
>>> site = WebClient().DownloadString('http://pyman.blogspot.com')
>>> print site
E se eu quiser salvar uma página em um arquivo? Há uma maneira bem simples de se fazer isso com CPython. E com o IronPython como fica?
No IronPython a simplicidade é a mesma. Olha só:
>>> from System.Net import WebClient
>>> WebClient().DownloadFile('http://pyman.blogspot.com', 'pyman.html')
Legal esse IronPython ein!!!!
----------------------------
Gostaria de deixar bem claro, que este post é uma resposta a um post [1] feito pelo meu amigo Walter Cruz sobre o mesmo assunto.
Outras referências sobre o assunto:
[1] - http://devlog.waltercruz.com/baixando_pagina_com_python
[2] - http://andrzejonsoftware.blogspot.com/2007/05/how-to-download-web-page-with.html
[3] - http://www.voidspace.org.uk/python/weblog/arch_d7_2007_08_11.shtml#e790
Mostrando postagens com marcador ironpython. Mostrar todas as postagens
Mostrando postagens com marcador ironpython. Mostrar todas as postagens
8/16/2007
6/16/2007
Instalando o mono e o IronPython no Ubuntu
Hoje resolvi instalar o mono [1] e o IronPython [2] no 'meu' Ubuntu 7.04.
Eu achei 2 textos que me auxiliaram na instalação [3] [4], e então resolvi postar aqui passo a passo da instalação.
Comecei instalando o mono, seus utilitários e o monodevelp que é um ambiente de desenvolvimento para .net no linux. Como uso o Ubuntu, tudo isso foi instalado com um apt-get:
# sudo apt-get install mono mono-gmcs mono-gac mono-utils monodevelop
Para instalar o IronPython, eu fui no site dele e baixei a versão 1.1 com os binários do IronPython [5].
Depois de baixado, eu descompactei o arquivo, e executei o shell interativo do IronPython através do comando no temrinal:
mono ipy.exe
E eu quisesse executar um arquivo .py com o IronPython no mono era só eu utilizar o comando no temrinal:
mono ipy.exe meuarquivo.py
Eu instalei a versão 1.1 do IronPython, mas a versão 2 alpha já pode ser testada [6].
[1] - http://www.mono-project.com/
[2] - http://www.codeplex.com/IronPython/
[3] - http://www.guiaubuntupt.org/wiki/index.php?title=Programacao/.Net
[4] - http://groups.google.com/group/comp.lang.python/browse_thread/thread/398aca428247ad7e/
[5] - http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=2573
[6] - http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=438
Eu achei 2 textos que me auxiliaram na instalação [3] [4], e então resolvi postar aqui passo a passo da instalação.
Comecei instalando o mono, seus utilitários e o monodevelp que é um ambiente de desenvolvimento para .net no linux. Como uso o Ubuntu, tudo isso foi instalado com um apt-get:
# sudo apt-get install mono mono-gmcs mono-gac mono-utils monodevelop
Para instalar o IronPython, eu fui no site dele e baixei a versão 1.1 com os binários do IronPython [5].
Depois de baixado, eu descompactei o arquivo, e executei o shell interativo do IronPython através do comando no temrinal:
mono ipy.exe
E eu quisesse executar um arquivo .py com o IronPython no mono era só eu utilizar o comando no temrinal:
mono ipy.exe meuarquivo.py
Eu instalei a versão 1.1 do IronPython, mas a versão 2 alpha já pode ser testada [6].
[1] - http://www.mono-project.com/
[2] - http://www.codeplex.com/IronPython/
[3] - http://www.guiaubuntupt.org/wiki/index.php?title=Programacao/.Net
[4] - http://groups.google.com/group/comp.lang.python/browse_thread/thread/398aca428247ad7e/
[5] - http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=2573
[6] - http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=438
5/31/2007
IronPython Cookbook Wiki
Para os interessados em IronPython e .NET, foi criado o IronPython Cookbook Wiki [1].
Que é um Wiki que terá como conteúdo artigos e códigos relacionados a IronPython e .NET.
O Wiki mal foi lançado é já tem muito conteúdo interessante, como por exemplo, um post mostrando como conectar ao Active Directory usando IronPython [2].
[1] - http://www.ironpython.info/index.php/Main_Page
[2] - http://www.ironpython.info/index.php/Connecting_to_Active_Directory
Que é um Wiki que terá como conteúdo artigos e códigos relacionados a IronPython e .NET.
O Wiki mal foi lançado é já tem muito conteúdo interessante, como por exemplo, um post mostrando como conectar ao Active Directory usando IronPython [2].
[1] - http://www.ironpython.info/index.php/Main_Page
[2] - http://www.ironpython.info/index.php/Connecting_to_Active_Directory
5/06/2007
IronPython no Silverlight - primeiro exemplo
A alguns dias atrás a Microsoft lançou oficialmente o Silverlight, uma ferramenta para apresentações e animações para web, para ser concorrente do Adobe Flash.
As principais características do Silverlight é a que ele é OpenSource e que ele é programado usando linguagens dinâmicas, entre elas o IronPython.
O desenvolvimento de apresentações funciona da seguinte maneira:
1 - Criamos o arquivo xaml, que é um xml que representa toda a parte visual da nossa apresentação. Ele pode ser criado 'no braço', sendo codificado ou usando o Microsoft Expression Design [1] que é uma ferramenta de ilustração e design gráfico onde você cria os desenhos e pode exportá-los para xaml.
2 - Criamos o arquivo que terá toda a parte de programação da noss apresentação. Como usaremos o IronPython, será um arquivo .py.
3 - Usando o Silverlight SDK, criamos a função createSilverlight, que é um javascript que faz a exibição da apresentação no html.
4 - Chamamos a função createSilverlight no html para exibir nossa apresentação.
Para desenvolvermos nossa primeira apresentação é necessário o player do Silverlight [2] e o SDK dele [3].
Vamos criar uma apresentação que carregue um texto quando a apresentação foi carregada. Vamos começar pelo xaml.
Scene.xaml
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="100" Height="100" Background="Red" >
<x:Code Source="primeiro.py" Type="text/python" />
<Canvas Loaded="OnLoad" />
<TextBlock x:Name="Texto" Foreground="White" Text="IronPython" />
</Canvas>
O xaml acima é formado por 4 linhas praticamente. A primeira é a Canvas onde contém a linkagem com os xmlns oficiais do silverlight e ele também é o fundo da nossa aplicação que nesse caso use a cor de fundo como vermelha e usei o tamanho de 100x100.
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="100" Height="100"
Background="Red"
>
A segunda, a x:Code é responsável por configurar o tipo da linguagem e onde fica o arquivo com os comandos.
<x:Code Source="primeiro.py" Type="text/python" />
A terceira linha contém uma tag canvas que uso apenas para colocara função Loaded que é disparada quando a apresentação é carregada. O nome da função chamada quando a apresentação é carregada é OnLoad.
<Canvas Loaded="OnLoad" />
E para finalizar o nosso texto que terá a cor branca e no python será representado pela instância Texto.
<TextBlock x:Name="Texto" Foreground="White" Text="IronPython" />
Agora vamos para o nosso arquivo em Python, que não passa de uma função chamada OnLoad que atribui um valor ao texto que criamos através do parâmetro Text.
primeiro.py
def OnLoad(sender, args):
Texto.Text = "Isso é d+++"
O SDK do silverlight dispoe do Silverlight.js e do CreateSilverlight.js que é um modelo para criação da função que chamará o xaml. Vamos abrir o CreateSilverlight.js e modificar a função createSilverLight.js para que chame o Scene.xaml. Nessa função também configuramos o framerate entre outros atributos.
function createSilverlight()
{
Sys.Silverlight.createObject("Scene.xaml", pe, "wpf",
{width:'350', height:'350',
inplaceInstallPrompt:false, background:'#00000000', isWindowless:'true',
framerate:'30', version:'0.95'},
{onError:null, onLoad:null},
null);
}
E para finalizar chamamos a função createSilverlight no nosso arquivo .html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Primeiro</title>
<script src="js/silverlight.js" type="text/javascript" ></script>
<script src="js/CreateSilverlight.js" type="text/javascript" ></script>
</head>
<body>
<div id="iron" >
<script type="text/javascript">
var pe = document.getElementById("iron");
createSilverlight();
</script>
</div>
</body>
Com o Silverlight + IronPython pode-se fazer coisas que só a imaginação pode limitar.
Em breve, mais sobre Silverlight e IronPython, mas por enquanto é só.
Quer mais? [4].
[1] - http://www.microsoft.com/Expression/products/overview.aspx?key=design
[2] - http://msdn2.microsoft.com/en-us/silverlight/bb419317.aspx
[3] - http://www.microsoft.com/downloads/details.aspx?FamilyID=54B85D84-604D-43DB-BCFE-7AFD278208D8&displaylang=en
[4] - http://www.microsoft.com/brasil/msdn/tecnologias/expression/intro_silverlight.mspx
As principais características do Silverlight é a que ele é OpenSource e que ele é programado usando linguagens dinâmicas, entre elas o IronPython.
O desenvolvimento de apresentações funciona da seguinte maneira:
1 - Criamos o arquivo xaml, que é um xml que representa toda a parte visual da nossa apresentação. Ele pode ser criado 'no braço', sendo codificado ou usando o Microsoft Expression Design [1] que é uma ferramenta de ilustração e design gráfico onde você cria os desenhos e pode exportá-los para xaml.
2 - Criamos o arquivo que terá toda a parte de programação da noss apresentação. Como usaremos o IronPython, será um arquivo .py.
3 - Usando o Silverlight SDK, criamos a função createSilverlight, que é um javascript que faz a exibição da apresentação no html.
4 - Chamamos a função createSilverlight no html para exibir nossa apresentação.
Para desenvolvermos nossa primeira apresentação é necessário o player do Silverlight [2] e o SDK dele [3].
Vamos criar uma apresentação que carregue um texto quando a apresentação foi carregada. Vamos começar pelo xaml.
Scene.xaml
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="100" Height="100" Background="Red" >
<x:Code Source="primeiro.py" Type="text/python" />
<Canvas Loaded="OnLoad" />
<TextBlock x:Name="Texto" Foreground="White" Text="IronPython" />
</Canvas>
O xaml acima é formado por 4 linhas praticamente. A primeira é a Canvas onde contém a linkagem com os xmlns oficiais do silverlight e ele também é o fundo da nossa aplicação que nesse caso use a cor de fundo como vermelha e usei o tamanho de 100x100.
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="100" Height="100"
Background="Red"
>
A segunda, a x:Code é responsável por configurar o tipo da linguagem e onde fica o arquivo com os comandos.
<x:Code Source="primeiro.py" Type="text/python" />
A terceira linha contém uma tag canvas que uso apenas para colocara função Loaded que é disparada quando a apresentação é carregada. O nome da função chamada quando a apresentação é carregada é OnLoad.
<Canvas Loaded="OnLoad" />
E para finalizar o nosso texto que terá a cor branca e no python será representado pela instância Texto.
<TextBlock x:Name="Texto" Foreground="White" Text="IronPython" />
Agora vamos para o nosso arquivo em Python, que não passa de uma função chamada OnLoad que atribui um valor ao texto que criamos através do parâmetro Text.
primeiro.py
def OnLoad(sender, args):
Texto.Text = "Isso é d+++"
O SDK do silverlight dispoe do Silverlight.js e do CreateSilverlight.js que é um modelo para criação da função que chamará o xaml. Vamos abrir o CreateSilverlight.js e modificar a função createSilverLight.js para que chame o Scene.xaml. Nessa função também configuramos o framerate entre outros atributos.
function createSilverlight()
{
Sys.Silverlight.createObject("Scene.xaml", pe, "wpf",
{width:'350', height:'350',
inplaceInstallPrompt:false, background:'#00000000', isWindowless:'true',
framerate:'30', version:'0.95'},
{onError:null, onLoad:null},
null);
}
E para finalizar chamamos a função createSilverlight no nosso arquivo .html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Primeiro</title>
<script src="js/silverlight.js" type="text/javascript" ></script>
<script src="js/CreateSilverlight.js" type="text/javascript" ></script>
</head>
<body>
<div id="iron" >
<script type="text/javascript">
var pe = document.getElementById("iron");
createSilverlight();
</script>
</div>
</body>
Com o Silverlight + IronPython pode-se fazer coisas que só a imaginação pode limitar.
Em breve, mais sobre Silverlight e IronPython, mas por enquanto é só.
Quer mais? [4].
[1] - http://www.microsoft.com/Expression/products/overview.aspx?key=design
[2] - http://msdn2.microsoft.com/en-us/silverlight/bb419317.aspx
[3] - http://www.microsoft.com/downloads/details.aspx?FamilyID=54B85D84-604D-43DB-BCFE-7AFD278208D8&displaylang=en
[4] - http://www.microsoft.com/brasil/msdn/tecnologias/expression/intro_silverlight.mspx
4/08/2007
IronPython o Python para .NET
IronPython é um projeto da Microsoft (Quem disse que tudo que a Microsoft faz é ruim?) que é a implementação do Python para a plataforma .NET.
Com isso temos a integração do .NET Framework e sua bibliotecas, como o WindowsForms, com o Python.
Para ter o IronPython basta fazer o download dele aqui. E para que ele funcione direitinho é necessário o .NET Framework que pode ser baixado aqui.
Para acessar o console do IronPython basta executar o ipy.exe.
Programando algumas coisas no console poderá ver que os comando básicos do Python funcionam perfeitamente. Por exemplo:
>>> print 'ola IronPython'
ola IronPython
>>>range(3)
[0,1,2]
>>>def soma(a,b):
return a+b
>>>soma(1,2)
3
Agora usando uma biblioteca do .NET Framework
>>>import System
>>>System.Environment.OSVersion
Microsoft Windows NT 5.1.2600 Service Pack 2
E agora para finalizar este post sobre o básico do básico do IronPython, usando as bibliotecas padrão do Python no IronPython. Para isso, é só adicionar o caminho da pasta lib do Python no path. Se o seu Python for a versão 2.4, ficaria assim:
>>>os.getcwd()
'C:\\ironpython'
IronPyth9on funciona independente de ter Python instalado, mas daí não tem como utilizar a biblioteca padrão do Python no IronPython.
Só para finalizar...
Se você quer trabalhar com .NET, IronPython é uma grande alternativa para escolha de linguagem, já que as outras opções são C#, J#, VB.NET.
E com o projeto mono, sua aplicação usando IronPython fica portável tnato em ambientes Windows como Linux.
Para saber mais acesse o site do projeto: http://www.codeplex.com/IronPython
Com isso temos a integração do .NET Framework e sua bibliotecas, como o WindowsForms, com o Python.
Para ter o IronPython basta fazer o download dele aqui. E para que ele funcione direitinho é necessário o .NET Framework que pode ser baixado aqui.
Para acessar o console do IronPython basta executar o ipy.exe.
Programando algumas coisas no console poderá ver que os comando básicos do Python funcionam perfeitamente. Por exemplo:
>>> print 'ola IronPython'
ola IronPython
>>>range(3)
[0,1,2]
>>>def soma(a,b):
return a+b
>>>soma(1,2)
3
Agora usando uma biblioteca do .NET Framework
>>>import System
>>>System.Environment.OSVersion
Microsoft Windows NT 5.1.2600 Service Pack 2
E agora para finalizar este post sobre o básico do básico do IronPython, usando as bibliotecas padrão do Python no IronPython. Para isso, é só adicionar o caminho da pasta lib do Python no path. Se o seu Python for a versão 2.4, ficaria assim:
>>>import sys
>>>sys.path.append(r"c:\python24\lib")
E agora usando a biblioteca do Python no IronPython:
>>>import os>>>os.getcwd()
'C:\\ironpython'
IronPyth9on funciona independente de ter Python instalado, mas daí não tem como utilizar a biblioteca padrão do Python no IronPython.
Só para finalizar...
Se você quer trabalhar com .NET, IronPython é uma grande alternativa para escolha de linguagem, já que as outras opções são C#, J#, VB.NET.
E com o projeto mono, sua aplicação usando IronPython fica portável tnato em ambientes Windows como Linux.
Para saber mais acesse o site do projeto: http://www.codeplex.com/IronPython
Assinar:
Postagens (Atom)