python sys.argv différencier int et string

Tout simplement, comment puis-je différencier ces deux test.py:

python test.py 1
python test.py '1'

Solution de contournement est OK.


Edit:

  1. Cette solution de contournement a l'air cool mais trop complexe: argparse
  2. Laisser l'invocateur spécifier des arguments plus tard, dans le code python utilisation arg = input('Please enter either an integer or a string')
  3. Et d'autres solutions de contournement comme présentés dans les réponses de cette question.

Merci à vous tous pour les réponses. Tous les corps +1.

  • Et quelque chose comme optparse n'est pas une option, ouais? docs.python.org/library/optparse.html#standard-option-types
  • Envisagez-vous de faire le premier argument une chaîne de format? Quelque chose comme "ssiiss" pourrait laisser votre script python savoir attendre deux chaînes, suivie par deux entiers, suivie par deux chaînes de caractères.
  • vous devez être à plaisanter appel standard lib, faite exactement pour ces sortes de tâches, une 'solution'.
  • Bodnarchuk, je ne pense pas que argparse peut résoudre le problème d'origine que chaque corps a dit que c'est impossible. Peut-il? Je l'appelle une solution de contournement.
InformationsquelleAutor Tyler Long | 2011-08-13