A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.

Apresentações semelhantes


Apresentação em tema: "Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012."— Transcrição da apresentação:

1 Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012

2 Introdução Scripts permitem Executar sequências de comandos Desenvolver testes Monitorar dados Etc; Podem ser feitos em diversas linguagens Shell, bash, awk, python Python fornece uma linguagem simples para o desenvolvimento de scripts

3 Introdução Módulos com métodos interessantes para scripts Módulo sys Módulo provê acesso a variáveis/funções usadas ou mantidas pelo interpretador Módulo os Módulo provê interfaces para funcionalidades do sistema operacional

4 Módulo sys sys.argv Variável do tipo lista contendo a lista de argumentos passados pela linha de comando para o script Python argv[0] nome do script Demais itens são entradas do script

5 Entradas para o script

6 Módulo sys sys.path Mostra o valor da variável de ambiente pythonpath A pythonpath é utilizada para buscar os módulos que estão sendo incluídos no código

7 Exemplo de sys.path Módulo estacionamento2 foi desenvolvido em sala Salvo em C:\\natalia Python começa a buscar módulos aqui também Modificações só valem na execução do seu script

8 Módulo sys sys.platform Retorna o nome da plataforma em uso

9 Módulo sys sys.stdin, sys.stdout e sys.stderr Objetos do tipo file que correspondem a entrada, saída e erro padrões do interpretador sys.__stdin__, sys.__stdout__ e sys.__stderr__ Objetos contendo o valor original de stdin, stderr e stdout

10 Módulo os os.name Nome para identificação do sistema operacional Melhor usar o sys.platform os.environ Mostra um dicionário com o conteúdo de todas as variáveis de ambiente

11 Módulo os

12 os.listdir(path) Retorna uma lista contendo todas as entradas de um diretório especificado por path Não inclui. e..

13 Módulo os os.chdir(path) Muda o diretório corrente para path os.getcwd() Retorna a string representando o diretório corrente

14 Módulo os os.chown(path, uid, gid) Muda o dono de path, através da identificação do usuário uid e do respectivo grupo gid Disponível apenas no Unix

15 Módulo os os.chmod(path, mode) Muda o modo de proteção (leitura, escrita e execução) do path. O mode deve ser colocado no modo numérico. Disponível apenas no Unix

16 Módulo os

17 os.link(source, link_name) Cria um hard link apontando para source com o nome link_name Disponível apenas no Unix

18 Módulo os

19

20 os.mkdir(path[, mode]) Cria um diretório com nome path e permissão mode (permissão opcional – padrão 0777) Modo representado em octal Número iniciado por zero Gera uma exceção do tipo OSError se o diretório já existe

21 Módulo os

22 os.remove(path) Remove o arquivo path Se path for um diretório, gera exceção OSError No Windows, se o arquivo estiver em uso, também gera uma exceção

23 Módulo os os.rename(src, dst) Renomeia o arquivo ou diretório src para o nome dst os.rmdir(path) Remove o diretório path Só funciona se o diretório estiver vazio

24 Módulo os os.fork() Cria um processo filho Exemplos: test_fork3.py a test_fork6.py

25 Módulo os os.execv(path, args) Executa o programa especificado em path Substitui o processo atual Args é uma lista ou uma tupla O primeiro argumento deve ser sempre o nome do programa executado Exemplos: test_fork7.py

26 Módulo os

27 os.kill(pid, sig) Envia o sinal sig para o processo pid os.nice(increment) Incrementa increment na prioridade de um processo Retorna o novo valor da nova prioridade Disponível apenas no Unix

28 Módulo os os.popen(comando) Executa o comando, que deve ser representado como uma string os.system(comando) Executa o comando em um subshell

29 Módulo os No Windows:

30 Módulo os No Linux Popen não retorna nada, apenas executa o comando

31 Módulo os No Linux Execução do comando com o system acontece em subshell, mas aparece no interpretador

32 Módulo os No Linux Mas, atenção! O system retorna zero e não o texto que aparece na tela

33 Módulo os os.wait() Espera que processo filho seja finalizado Retorna o pid do processo filho e a indicação de status de saída Disponível apenas em Unix os.waitpid(pid, options) No Unix: Espera que o processo filho com pid seja terminado Retorna o pid do processo filho e a indicação de status de saída No Windows: Espera que o processo filho com pid seja terminado Retorna uma tupla contendo pid, o status de saída do processo shiftado de 8 bits

34 Módulo os os.curdir Constante (string) contendo a indicação para diretório atual No Windows e no POSIX, vale. os.pardir Constante (string) contendo a indicação de diretório pai No Windows e no POSIX vale.. os.sep Caractere usado pelo sistema operacional para separar componentes em um nome de diretório Vale '/' no POXIS e '\\ para o Windows Para parsear o nome do diretório use : os.path.split() Para juntar nomes formando um diretório, use: os.path.join()

35 SSH Ao fazer scripts, muitas vezes será importante se logar em diferentes máquinas Uso do ssh Conexão segura entre duas máquinas Exige autenticação Nome e senha Certificados Evita ter que colocar nome e senha a cada vez que se faz a comunicação Gerar certificado no cliente e armazenar no servidor Cliente é o nó que inicia a conexão

36 SSH Exemplo de uso: ssh user@hostname comand ssh natalia@maquina.lab.uff.br ls –lisa Com o python: os.system(ssh natalia@maquina.lab.uff \ls -lisa > temp\ )

37 SSH Exemplo...

38 SSH Para fazer uma conexão ssh via python http://www.no-ack.org/2010/11/python-bindings-for- libssh2.html

39 Exercícios Faça um script que crie um diretório com 10 arquivos com nomes aleatórios Faça um script que mude o nome de todos os arquivos de um diretório, colocando um texto escolhido pelo usuário na frente do nome do arquivo. Ex: Antes: fsdasdasd Depois: texto-fsdasdasd

40 Exercícios Faça um script que monitore os dados de sua placa de rede de 5 em 5 segundos e guarde em um arquivo especificado pelo usuário. O usuário deve especificar também o tempo total de teste. Faça um script que leia um arquivo de configuração e chame um programa de acordo com as entradas lidas. Exemplo: Arquivo de configuração: Nome=natalia,root Dispositivo=maquina.lab.uff.br Comando = ls -lisa Saída=temp Comando gerado e executado pelo seu script ssh natalia@maquina.lab.uff.br ls -lisa >> temp ssh root@maquina.lab.uff.br ls –lisa >> temp


Carregar ppt "Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012."

Apresentações semelhantes


Anúncios Google