Olá integrantes da lista.
Bem estou trabalhando em um projeto de pesquisa cientifica e estava usando
python como "linguagem de cola" ou seja usava python no projeto para montar
ambiente, usava como script de automação, porém em dado momento, me
perguntei '*será que o python não poderia ser a linguagem base?*' Assim
resolvi usar python além de linguagem de auxilio, porém agora estou com
algumas dúvidas de como fazer certas tarefas em python. Gostaria de saber se
é possível:
*~> Monitorar Processos no sistema operacional:*
Gostaria de poder monitorar um processo no sistema operacional onde o
script/aplicativo estiver rodando, supondo que eu rode um processo
MyProcess, quero obter seu uso de CPU, Memória, PID e usuário, a plataforma
base para meus scripts é linux e unix-like, porém por ventura pode ser que
um usuário Windows venha a utilizar, por isso se possível a solução tem que
ser portável ou que seja possível via implementação nativa para as duas
plataformas.
*~> Monitorar I/O de disco:*
Como eu conseguira monitorar o I/O de um HD com python? Quero saber isso
para por ventura saber benchmarkings de leitura e escrita em disco.
*~> Manipulação de links para arquivos:*
Existe a possibilidade tanto em linux/unix-like e windows de através do
python eu criar links (comando "ln -s ...")?
*~> Manipular grandes arquivos XML:*
Tenho grandes arquivos de xml com registros de dados (ou seja banco de dados
em xml), a api minidom e sax do python são as mais recomendadas para
trabalhar com arquivos na casa do MEGA BYTES e GIGA BYTES? Não quero todo o
arquivo em memória, somente a parte de registros que me interessar.
Agradeço desde já pelas possíveis respostas.
--
*@paulopatto*
RT *#**Confúcio: **"Dê a quem você ama: asas para voar, raízes para voltar e
motivos para ficar."*
*http://paulopatto.me/*
[As partes desta mensagem que não continham texto foram removidas]
Paulo, é sempre muito legal saber das histórias de novos adeptos à linguagem. Bem vamos às dúvidas...
Manipulação de processos: A melhor opção é a biblioteca psutil [1]. Já esta pronto e tem a maioria das funcionalidaes que vc precisa para trabalhar com processos. Ela é cross-plataform, mas se tratando de MS Windows, me bate uma curiosidade... =D
I/O de disco: Tem o iotop [2] que é feito em Python. Eu sei que não foi essa a sua pergunta, mas a partir da aplicação instalada no siste é possível acessar suas bibliotecas, eu testei aqui (no Ubuntu 10.04/Python 2.7/iotop 0.4.1 (ubuntu repo version) e consegui importar a biblioteca. O próximo passo seria ler o código e trabalhar em cima dele. Essa realmente foi baseada essenciamente em sistemas POSIX.
Symlinks: Se vc quiser criar links, os.symlink(src, dst), simples assim. Para saber se o arquivo é um link os.path.islink(path). Para apagar, os.remove(path). Mais alguma coisa que queira fazer com links ? =P Ah, "Availability: Unix."
XML: Eu recomendo usar a biblioteca lxml [3]. Aqui [4] rolou uma discussão sobre esse assunto (Parsing large XML file with Python)
[1] http://code.google.com/p/psutil/
[2] http://freshmeat.net/projects/iotop
[3] http;//lxml.de
[4] http://stackoverflow.com/questions/324214/what-is-the-fastest-way-to-parse-large-xml-docs-in-python
[ ]'s
Mauro Baraldi
--- Em python...@yahoogrupos.com.br, Paulo Patto <paulopatto@...> escreveu
2011/10/6 mauro.baraldi <no_r...@yahoogrupos.com.br>
> Paulo, é sempre muito legal saber das histórias de novos adeptos à
> linguagem. Bem vamos às dúvidas...
> Manipulação de processos: A melhor opção é a biblioteca psutil [1]. Já esta
> pronto e tem a maioria das funcionalidaes que vc precisa para trabalhar com
> processos. Ela é cross-plataform, mas se tratando de MS Windows, me bate uma
> curiosidade... =D
> I/O de disco: Tem o iotop [2] que é feito em Python. Eu sei que não foi
> essa a sua pergunta, mas a partir da aplicação instalada no siste é possível
> acessar suas bibliotecas, eu testei aqui (no Ubuntu 10.04/Python 2.7/iotop
> 0.4.1 (ubuntu repo version) e consegui importar a biblioteca. O próximo
> passo seria ler o código e trabalhar em cima dele. Essa realmente foi
> baseada essenciamente em sistemas POSIX.
> Symlinks: Se vc quiser criar links, os.symlink(src, dst), simples assim.
> Para saber se o arquivo é um link os.path.islink(path). Para apagar,
> os.remove(path). Mais alguma coisa que queira fazer com links ? =P Ah,
> "Availability: Unix."
> XML: Eu recomendo usar a biblioteca lxml [3]. Aqui [4] rolou uma discussão
> sobre esse assunto (Parsing large XML file with Python)
> [1] http://code.google.com/p/psutil/
> [2] http://freshmeat.net/projects/iotop
> [3] http;//lxml.de
> [4]
> http://stackoverflow.com/questions/324214/what-is-the-fastest-way-to-parse-large-xml-docs-in-python
>
> Primeiramente gostaria de agradecer ao Carlos e Eduardo pelas respostas, já
devia ter respondido a dias, mas não estive muito bem de saúde.
Mauro vou analizar suas sugestões, eu estava quase implementando códigos
nativos em C e fazendo um Wrapper em Python, mas vou analizar suas
sugestões. Muito obrigado.
--
*@paulopatto*
RT *#**Confúcio: **"Dê a quem você ama: asas para voar, raízes para voltar e
motivos para ficar."*
*http://paulopatto.me/*
*
*
[As partes desta mensagem que não continham texto foram removidas]
Em Windows vc pode usar a biblioteca wmi.
Em 07/10/2011 13:35, "Paulo Patto" <paulo...@gmail.com> escreveu:
> **
Paulo Patto;
enviado de um celular Android, desconsiderar erros.
Em 07/10/2011 19:38, "@maltzsama" <cau...@gmail.com> escreveu:
> **
Mas a psutil funcionou bem no windows e linux, no window tive alguns
prblemas para compilar (instalação via pip), pois dava erro com o mingw e
msvc. Poré tem a solução pre compilada pelo desenvolvedor... mas foi de boa
o uso. Vou ver essa outra wmi, que eu já havia visto, vou testar, mas acho
que vou usar psutil para manter uma aior homogeniedde e simplicidade do
código.
Paulo Patto;
enviado de um celular Android, desconsiderar erros.
Em 07/10/2011 19:38, "@maltzsama" <cau...@gmail.com> escreveu:
> **
>
>
Boa noite, alguém ainda acessaria esse topico? rscriei um algoritmo usando psutil para monitorar um processo especifico, esse modulo da suporte a criação de arquivos, conexões, mas não a criação de registros, não faço ideia de como monitorar essa parte usando a instancia desse processo no meu script. alguém tem uma dica de implementação?
--
--
------------------------------------
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ê recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Responder através da web | • | • | através de email | • | Adicionar um novo tópico | • | Mensagens neste tópico (7) |