Jump to content
edmin

Ajuda com código

Recommended Posts

Olá pessoal, preciso de uma ajuda como seguinte, desde já, agradeço por qualquer ajuda...

Pergunta: 

Dado um arquivo 'ips.txt' com uma lista de endereços, o programa deve dar um ping para cada ip/domínio cadastrado. A linha contendo os resultados (mínimo, máximo, média)deve ser salva em arquivo 'log_data_hora.txt'.

ips.txt

www.claro.com.br;Servidor Claro
www.colombo.com.br;Servidor Colombo
www.renner.com.br;Servidor Renner
www.gmail.com.br;Servidor Email Google
 

tenho o seguinte código:

 

import os
from datetime import datetime
def titulo(texto):
    print()
    print(texto)
    print('\033[7;97;40m-\033[m'*40)


######################################
def listar():
    print('\033[7;97;40mListagem de IPs\033[m')
    print('\033[7;97;40m=\033[m'*72)
    arq = open('ips.txt', 'r')
    num = 0
    linha = arq.readline()
    print('\033[7;97;40mNº .: IP/Dominio ...............:   Cliente/Serviço ..................: \033[m')
    while linha != '':
        num = num + 1
        partes = linha.split(';')
        print(f'\033[7;97;40m {num:3}   {partes[0]:30s}   {partes[1][:-1]}\033[m')
        linha = arq.readline()
    arq.close()
    print('\033[7;97;40m-\033[m'*72)

'''
funcao que recebe um ip como parametro
o tempo medio de resposta de um ping para este ip
ou -1, caso erro
'''

def ver_media(ip):
    dados = os.popen('ping '+ ip) # executa um comando no sistema operacional
    media = ''
    #find: retorna a posicao da string
    #(se nao encontrar retorna 0)
    for linha in dados:
        if linha.find('M‚dia') >= 0:
            posicao = linha.rfind('=')
            mediams = linha[posicao+1:]
            ms = mediams.rfind('ms')
            media = mediams[0:ms]

    if media == '':
        return -1
    else:
        return int(media)


def testar():
    titulo('\033[7;97;40mTestando IPs Cadastrados\003[m')
    print('\033[7;97;40mIP/Domínio............ Tempo(ms)\033[m')
    print('\033[7;97;40m-\033[m'*40)

    arqLog = open('logs.txt', 'a') #salva em arquivo cada teste
    arq = open('ips.txt', 'r')
    linha = arq.readline()
    while linha != '':
        partes = linha.split(';')
        tempo = ver_media(partes[0])
        funcao = ver_media(partes[1])

        agora = datetime.now()
        dia = agora.strftime('%d/%m/%Y')
        hora = agora.strftime('%H:%M:%S')
        print(f'\033[7;97;40m{partes[0]:25s} {tempo}\033[m')
        arqLog.write(partes[0]+';'+str(tempo)+';'+dia+';'+hora+'\n')

        linha = arq.readline()
    arq.close()
    arqLog.close()
####################################################


def logs():
    titulo('\033[7;97;40m         Listagem de Logs           \033[m')
    arq = open('logs.txt', 'r')
    print('\033[7;97;40mNº..: IP / Dominio............: Média (ms): Dia do accesso..: Hora..:\033[m')
    num = 0
    linha = arq.readline()

    while linha != '':
        num = num + 1
        partes = linha.split(';')
        ip = str(partes[0])
        tempo = str(partes[1])
        dia = str(partes[2])
        hora = str(partes[3])
        print(f'\033[7;97;40m{num:3d} {ip:30s} {tempo:3s}      {dia:17s} {hora} \033[m', end='')
        linha = arq.readline()
    arq.close()
    print('-'*43)
    print('\033[7;97;40m -> Se o tempo em ms, for igual a\033[m \033[1;31m-1\033[m,\033[7;97;40m\n'
          ' o host não está respondendo\033[m')
    return


######################### programa principal
while True:
    print('\033[7;97;40m=\033[m' * 43)
    print('''\033[3;30;44m#### Selecione uma Opção: ####\033[m \033[7;97;40m
    1.  Listar Ips 
    2.  Testar
    3.  Log de testes
    4.  Finalizar 
\033[m\n ''')
    print('\033[7;97;40m=\033[m' * 43)
    opcao = int(input('\033[3;30;44mDigite sua opção:\033[m '))
    if opcao == 1:
        listar()
    elif opcao == 2:
        testar()
    elif opcao == 3:
        logs()
    elif opcao == 4:
        calcula()
    elif opcao == 5:
        print('\033[1;30mPrograma Finalizado pelo Usuário!!!\n'
              '==//==//==//==//==//==//==//==//==//\033[m')
        exit()
    else:
        print('\033[1;31mOps...\n'
              ' Opção Inválida!!!\033[m')
        break

 

Edited by edmin
incluir o arquivo de ips

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Laysilva
      Gente , 
      maximo que recebe 2 números inteiros como parâmetro. 
       
      def sumDigit(num): sum = 0 while(num): sum += num % 10 num = int(num / 10) return sum   só que tá errado . Eu não sei como fazer .  Alguém me ajuda ?
    • By mamotinho
      Olá, estou com um erro persistente já revirei todo o código para encontrar o erro e não tive nenhum sucesso, acho que pode ser por que não tenho tanto conhecimento em javascript e não estou conseguindo enxerga o erro.
       
      Segue abaixo o código da página,
      OBS: A Web está com programação antiga, pretendo atualizar o mesmo assim que eu concluir todo o código fonte.
       
      Estou executando esse shop dentro de um game , o navegador que a programação do game puxa é IE.
       
      <?php require("_config/init.php"); $action = anti_injection(AntSQL(aiRemove(protecao($_GET["action"])))); $cat = anti_injection(AntSQL(aiRemove(protecao($_GET["cat"])))); $v1 = anti_injection(AntSQL(aiRemove(protecao($_GET["v1"])))); $v2 = anti_injection(AntSQL(aiRemove(protecao($_GET["v2"])))); $v3 = anti_injection(AntSQL(aiRemove(protecao($_GET["v3"])))); $Item = anti_injection(AntSQL(aiRemove(protecao($_GET["product"])))); $nickname = array('1','2','6'); if(!$v1){ echo "<h1>404 - Página não encontradAAa!</h1>"; exit(); }elseif(!in_array($v1, $nickname)){ echo "<h1>404 - Página não encontradas!</h1>"; exit(); } $search = mssql_query("SELECT * FROM ".DB_ACC.".dbo.cabal_auth_table WHERE UserNum='".$v1."' AND AuthKey='".$v2."'"); $rows = mssql_fetch_object($search); $money = mssql_query("SELECT * FROM ".DB_CSH.".dbo.CashAccount WHERE UserNum='".$rows->UserNum."'"); $rowCash= mssql_fetch_object($money); ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title><?=WEB_NAME_MONEY?> Shop</title> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <meta http-equiv="X-UA-Compatible" content="IE=9"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js"></script> <script src="template/js/script.js"></script> <link href="template/css/cashshop.css" rel="stylesheet" type="text/css"> </head> <script src="/template/js/cabaldark.js"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('#ajax_form').submit(function(){ var dados = jQuery( this ).serialize(); jQuery.ajax({ type: "POST", url: "_buy.php", data: dados, success: function(data) { alert(data); } }); return false; }); }); </script> <body> <div class="cashshop"> <a href="http://cabalclose"> <div class="close"></div> </a> <div class="info"> <div class="cashs"> <div class="cash"><?=WEB_NAME_MONEY?></div> <div class="valor"><?=$rowCash->Cash?></div> </div> <div class="ids"> <div class="id">ID</div> <div class="user"><?=$rows->ID?></div> </div> </div> <a href="t-point/tpIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>"> <div class="tpoint"></div> </a> <div class="menu"> <?php if($action=="plus"){ ?> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>"><div class="item"></div></a> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&action=plus"><div class="plus_active"></div></a> <?php }else{ ?> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>"><div class="item_active"></div></a> <a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&action=plus"><div class="plus"></div></a> <?php } ?> </div> <div class="categoria"> Bem-vindo(a), Loja do Cabal Dark. </div> <div class="mensagem" id="box"> <div class="box"> <div>"Kit Nome do item", <br> <strong>Você deseja comprar este item?</strong> </div> <div> <div class="comprar"></div> <div class="cancelar" onClick="mensagemClose()"></div> </div> </div> </div> <?php if($action=="plus"){ ?> <div class="categorias"> <div class="opcao"> <img src="template/img/circle/historico.png" width="18" height="18" alt=""/> <span>Histórico</span> </div> </div> <?php }else{ ?> <div class="categorias"> <?php $search = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='nao'"); while($rows=mssql_fetch_object($search)){ $searchSub = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='sim' AND IdxSub='".$rows->Idx."'"); $countSub = mssql_num_rows($searchSub); if($countSub>=1){ ?> <div class="submenu" name="submenu" id="sub<?=$rows->Name?>"> <?php $num=0; while($rowsSub=mssql_fetch_object($searchSub)){ $num+=1; ?> <div class="opcaoSub <?php if($num>=2){ echo "mgOito"; };?>"><a href="CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&cat=<?=$rowsSub->Idx?>"><?=htmlentities($rowsSub->Name, ENT_COMPAT, 'ISO-8859-1')?></a></div> <?php } ?> </div> <?php } } //AQUI ADAPTAÇÃO MAMOTINHO // $search = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='nao' And IdxSub >= 1"); $contarNorm = mssql_num_rows($search); $search02 = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Categorias WHERE SubCategoria='nao' And IdxSub < 1"); $semSubmenu = mssql_num_rows($search02); if($contarNorm >= 1){ while($rows=mssql_fetch_object($search)){ ?> <div class="opcao" onClick="abrirSub('sub<?=$rows->Name?>')"> <img src="template/img/circle/<?=$rows->Icon?>" width="18" height="18" alt=""/> <span><?=$rows->Name?></span> </div> <?php if($rows->Bar=="sim"){ ?> <img src="template/img/circle/bar.png" alt=""/> <?php } ?> <?php } }if($semSubmenu>=1){ while($rows=mssql_fetch_object($search02)){ ?> <div class="opcao" style="margin-bottom:10px;" onClick="envURL('CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&cat=<?=$rows->Idx?>');"> <img src="template/img/circle/<?=$rows->Icon?>" width="18" height="18" alt=""/> <span><?=$rows->Name?></span> </div> <?php if($rows->Bar=="sim"){ ?> <img src="template/img/circle/bar.png" alt=""/> <?php } ?> <?php } } ?> </div> <?php } ?> <div class="conteudo"> <?php if($cat){ $searchItens = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Itens WHERE Categoria='".$cat."' AND Estoque >= 1"); $countItens = mssql_num_rows($searchItens); if($countItens>=1){ while($rows=mssql_fetch_object($searchItens)){ ?> <div class="item" onClick="envURL('CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&product=<?=$rows->Idx?>&action=product');"> <div class="preco"><?=number_format($rows->Preco - $rows->Desconto)?></div> <div class="img"> <img src="template/img/produtos/<?=$rows->Img?>" width="90" height="90" /> </div> <span style="font-size:12px; font-size:arial;"> <? if(strlen($rows->Name)>=18){ echo "<marquee>$rows->Name</marquee>"; }else{ echo $rows->Name; } ?> </span> </div> <?php } }else{ echo '<span style="color: #fff; padding-top: 30px;">No momento não há itens a exibir.</span>'; } }else{ if($action=="historico"){ echo "tes"; }elseif($action=="product"){ $ItemIdx = $_GET['product']; $rows = mssql_fetch_object(mssql_query("SELECT * FROM CabalCash.dbo.Shop_Itens where Idx='".$ItemIdx."'")); if($rows->Limite<=1){ $input = "disabled"; }else{ $input = ""; } ?> <div class="detalhes"> <form method="post" action="" id="ajax_form"> <div class="meio"> <div class="titulo"><?=$rows->Name?></div> <input name="Idx" id="txtNome" type="hidden" value="<?=$rows->Idx?>"> <input name="UserNum" id="txtNome" type="hidden" value="<?=$v1?>"> <div class="img"> <img src="template/img/produtos/<?=$rows->Img?>" width="130" height="100" alt=""/> </div> <div class="caixa"> <div class="valor"> <div>Preço</div> <div><?=number_format($rows->Preco)?> <?=WEB_NAME_MONEY?></div> </div> <div class="quantidade"> <div>Quantidade</div> <div>x<input type="text" value="1" <?=$input?> id="Quantidade" name="Quantidade" value="1" min="1" max="20"> </div> </div> <div class="current"> <div>Atual</div> <div><?=$rowCash->Cash?> <?=WEB_NAME_MONEY?></div> </div> <div class="preco"> <div>Preco</div> <div><?=number_format($rows->Preco)?> <?=WEB_NAME_MONEY?></div> </div> <div class="desconto"> <div>Desconto</div> <div><?=number_format($rows->Desconto)?> <?=WEB_NAME_MONEY?></div> </div> <div class="precofinal"> <div>Preço Final</div> <div><output id="total" name="total"><?=number_format($rows->Preco - $rows->Desconto)?></output> <?=WEB_NAME_MONEY?></div> </div> <div class="sobra"> <div>Restante</div> <div><?=number_format($rowCash->Cash - ($rows->Preco - $rows->Desconto))?> <?=WEB_NAME_MONEY?></div> </div> </div> <div class="content"> <div>Duração</div> <div><?=tempoItem($rows->Duracao)?></div> <div>Efeito</div> <div><?=htmlentities($rows->Efeito, ENT_COMPAT, 'ISO-8859-1')?></div> <div>Requesitos</div> <div> Nível: <?=$rows->NivelUser?> ou mais<br> Limite de compra: <?=$rows->Limite?><br> Estoque: <?=$rows->Estoque?><br><br> <span style="color: #FFFF00;"><strong>Descrição</strong></span> <div><?=$rows->Descricao?></div> </div> </div> <div class="botoes"> <label><input class="comprar" style="width:122px;border:0px; background-color:#FFFFFF;height:30px; flex:0 1 25%; padding-bottom:30px;" type="submit" name="enviar" value="Comprar" /></label> </div> </div></form> </div> <? }else{ $searchItens = mssql_query("SELECT * FROM ".DB_WEB.".dbo.Shop_Itens WHERE Destaque='sim' AND Estoque >= 1"); $countItens = mssql_num_rows($searchItens); if($countItens>=1){ while($rows=mssql_fetch_object($searchItens)){ ?> <div class="item" onClick="envURL('CashIndex.php?v1=<?=$v1?>&v2=<?=$v2?>&v3=<?=$v3?>&product=<?=$rows->Idx?>&action=product');"> <div class="preco"><?=number_format($rows->Preco - $rows->Desconto)?></div> <div class="img"> <img src="template/img/produtos/<?=$rows->Img?>" width="90" height="90" /> </div> <span style="font-size:12px; font-size:arial; "> <? if(strlen($rows->Name)>=18){ echo "<marquee>$rows->Name</marquee>"; }else{ echo $rows->Name; } ?> </span> </div> <?php } }else{ echo '<span style="color: #fff; padding-top: 30px;">No momento não há itens a exibir.</span>'; } } } ?> </div> </div> </body> </html>  

    • By TIagozzz
      .
    • By magrelarr
      Olá pessoal. Me chamo Lucas e tenho uma enorme vontade em aprender programação, na intenção de criar um jogo bem simples, mas com alguns detalhes. Minha ideia é um jogo sobre eleições politicas, numa terra ficticia que criei, e contaria com partidos disputando em sete regiões, números em graficos sobre os votos, eleitos e não eleitos, divisão dos poderes, formação de governo, etc. Algo programado dessa forma. Parece complexo mas seria algo básico.
      Então são duas perguntas:
      1° Por onde começar? Eu tenho muita vontade, mas conheço pouco da área. O primeiro passo que foi a história, os mapas, partidos e logos eu já criei, mas e depois?
      2° qual a melhor linguagem pra se aprender. Será um jogo de texto, sem personagens, apenas números e nomes, e realmente não faço ideia de que tipo de linguagem se usa pra jogos assim.

      Deixem dicas ou se caso se interessem pelo projeto, mantenho contato. Obrigado.
    • By Eikogloria
      Bom dia, precisava de uma pequena ajuda se possível.
      Necessito de implementar uma função "r" em Python.
      Função "r" tem 3 argumentos "d", "c1", "c2".
      O argumento "d" é uma lista de Números.
      Os argumentos c1 e c2 são números inteiros e indices de elementos da lista d.
      c1 < c2 < len(d)
      A função "r" retorna a soma dos elemento da lista "d" desde o indice c1 a c2 inclusive.


      De que modo devo criar esta função?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.