Advertisement
wagner-cipriano

reading arguments from the command line in python

Oct 14th, 2016
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.97 KB | None | 0 0
  1. # -*- coding:UTF-8 -*-
  2. #python reading arguments from the command line
  3.  
  4. from __future__ import print_function      #Compatibilidade func print python 2/3
  5. from time import sleep
  6. import sys, getopt
  7.  
  8. def ReadFile(FilePathFull):
  9.     """
  10.    @TODO: Implementar esta função
  11.     @summary: faz a leitura de um arquivo
  12.     @description:
  13.     @author: Wagner Cipriano
  14.     @email:
  15.     @org: Cefet MG
  16.     @since: 14/10/2016
  17.     @param FilePathFull: caminho completo do arquivo
  18.     @type FilePathFull: str
  19.     @return: conteudo do arquivo
  20.     @rtype: stri
  21.     @Errors:
  22.        1: Arquivo nao existe
  23.        2: Erro de permissão ao abrir o arquivo
  24.        3: ...
  25.    """
  26.     #Validar se arquivo existe
  27.     pass
  28.     #Abrir o arquivo
  29.     pass
  30.     #Ler o conteúdo
  31.     pass
  32.     #Fechar o arquivo
  33.     pass
  34.     #Retornar o conteudo do arquivo
  35. #Fim da função
  36.  
  37.  
  38. if (__name__ == '__main__'):
  39.     print ('ROTINA de leitura de dados em arquivos texto')
  40.     #Imports
  41.  
  42.     #Var
  43.     Help = """
  44.    Script de leitura de arquivo a partir do caminho do arquivo e nome do arquivo
  45.    Parametros:
  46.      1. Diretorio              -d    --dir     Ex: /home
  47.      2. Nome arquivo     -f     --file     Ex: testeR
  48.      3. Nome arquivo     -e    --ext     Ex: txt            DEF: txt
  49.    #
  50.    Para visualizar este help: --help ou -h
  51.    #
  52.    Exemplos de execucao:
  53.        python3 ParamsViaCommLine.py -d /home/mcpython -f testeR -e txt
  54.        python3 ParamsViaCommLine.py -d /home/mcpython -f testeR
  55.        python3 ParamsViaCommLine.py --dir /home/mcpython --file testeR --ext txt
  56.    """
  57.  
  58.     #Parametros Execução via terminal
  59.     shortopts = 'd:f:e:h'
  60.     longopts = ['dir=', 'file=', 'ext=', 'help']
  61.  
  62.     pDir = pFile = None
  63.     pExt = 'txt'
  64.     try:
  65.         opts, args = getopt.getopt(sys.argv[1:], shortopts, longopts)
  66.         #A = 1/0
  67.     except getopt.error as ErrMsg:
  68.         print ('Erro ao ler parametros:\n  ', getopt.error, '\n  ', ErrMsg);
  69.         sys.exit(1);
  70.     except Exception as ErrMsg:
  71.         print ('Erro GENÉRICO:\n', ErrMsg);
  72.  
  73.     for opt, arg in opts:
  74.         if(opt in ('-h', '--help')):
  75.             print (Help)
  76.             sys.exit(1);
  77.         elif(opt in ('-d', '--dir')):
  78.             pDir = arg
  79.         elif(opt in ('-f', '--file')):
  80.             pFile = arg
  81.         elif(opt in ('-e', '--ext')):
  82.             pExt = arg
  83.     if(pDir and pFile):
  84.         print ('\nParams Debug\n  pDir      %s\n  pFile     %s\n  pExt      %s\n' %(pDir, pFile, pExt))
  85.         sleep(1)
  86.     else:
  87.         print ('\n\n', Help, '\n\n    ERRO:\n      Params obrigatorios nao informados: diretorio e nome do arquivo\n\n')
  88.         sys.exit(1);
  89.  
  90.     #fazer aqui a leitura do aquivo
  91.     print ('@TODO: \n  Criar o parametro com o nome completo do arquivo\n  Chamar função ReadFile para ler o arquivo\n  Imprimir o conteúdo do arquivio ou a mensagem de erro');
  92.     #ReadFile(FileName)
  93.    
  94.     print ('\n\nROTINA de leitura de arquivo finalizada com sucesso')
  95. #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement