Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

903
Views
SystemExit: 2 errores al llamar a parse_args() dentro de ipython

Estoy aprendiendo los conceptos básicos de Python y ya me quedé atascado al comienzo del tutorial de argparse. Recibo el siguiente error:

 import argparse parser = argparse.ArgumentParser() args = parser.parse_args()
 usage: __main__.py [-h] echo __main__.py: error: unrecognized arguments: -f An exception has occurred, use %tb to see the full traceback. SystemExit: 2

un comando %tb da el siguiente resultado:

 SystemExit Traceback (most recent call last) <ipython-input-16-843cc484f12f> in <module>() ----> 1 args = parser.parse_args() C:\Users\Haik\Anaconda2\lib\argparse.pyc in parse_args(self, args, namespace) 1702 if argv: 1703 msg = _('unrecognized arguments: %s') -> 1704 self.error(msg % ' '.join(argv)) 1705 return args 1706 C:\Users\Haik\Anaconda2\lib\argparse.pyc in error(self, message) 2372 """ 2373 self.print_usage(_sys.stderr) -> 2374 self.exit(2, _('%s: error: %s\n') % (self.prog, message)) C:\Users\Haik\Anaconda2\lib\argparse.pyc in exit(self, status, message) 2360 if message: 2361 self._print_message(message, _sys.stderr) -> 2362 _sys.exit(status) 2363 2364 def error(self, message): SystemExit: 2

¿Cómo podría solucionar este problema?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

argparse es un módulo diseñado para analizar los argumentos pasados desde la línea de comando , por ejemplo, si escribe lo siguiente en un símbolo del sistema:

 $ python my_programme.py --arg1=5 --arg2=7

Puede usar argparse para interpretar la --arg1=5 --arg2=7 . Si argparse cree que los argumentos no son válidos, sale, lo que en general se hace en python al llamar a sys.exit() , lo que genera el error SystemExit , que es lo que está viendo.

Entonces, el problema es que está tratando de usar argparse desde un intérprete interactivo (se parece a ipython), y en este punto el programa ya se inició, por lo que los argumentos ya deberían haberse analizado.

Para probarlo correctamente, cree un archivo python separado, como my_programme.py , y ejecútelo usando python desde una línea de comando, como se ilustra.

over 4 years ago · Santiago Trujillo Report

0

[ solución rápida ] Agregue un argumento de analizador ficticio en el código

 parser.add_argument('-f')
over 4 years ago · Santiago Trujillo Report

0

se había encontrado con un problema similar. agregar estas líneas solucionó el problema para mí.

 import sys sys.argv=[''] del sys
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!