Ligne de commande
Le "_" interactif
C'est une fonctionnalité très utile que peu de développeurs connaissent. (Note du traducteur : bien entendu vous n'en faites pas partie et vous connaissez les dangers associés.)
Dans un interpréteur interactif, que vous évaluiez une expression ou que
vous appeliez une fonction, le résultat est stocké dans une variable
temporaire, _ (un underscore) :
>>> 1 + 1
2
>>> _
2
_ stocke la dernière valeur affichée.
Lorsqu'un résultat vaut None, rien n'est affiché, donc _ ne change
pas. C'est normal !
Ça ne marche que dans un interpréteur interactif, pas dans un module.
C'est particulièrement utile lorsque vous travaillez sur un problème de manière interactive, et que vous souhaitez stocker la valeur du dernier résultat :
>>> import math
>>> math.pi / 3
1.0471975511965976
>>> angle = _
>>> math.cos(angle)
0.50000000000000011
>>> _
0.50000000000000011
Utilisation de la ligne de commande
Exemple (Note du traducteur : j'ai déjà parlé de ça aussi) :
#!/usr/bin/env python
"""
Module docstring.
"""
import sys
import optparse
def process_command_line(argv):
"""
Return a 2-tuple: (settings object, args list).
`argv` is a list of arguments, or `None` for ``sys.argv[1:]``.
"""
if argv is None:
argv = sys.argv[1:]
# initialize the parser object:
parser = optparse.OptionParser(
formatter=optparse.TitledHelpFormatter(width=78),
add_help_option=None)
# define options here:
parser.add_option( # customized description; put --help last
'-h', '--help', action='help',
help='Show this help message and exit.')
settings, args = parser.parse_args(argv)
# check number of arguments, verify values, etc.:
if args:
parser.error('program takes no command-line arguments; '
'"%s" ignored.' % (args,))
# further process settings & args if necessary
return settings, args
def main(argv=None):
settings, args = process_command_line(argv)
# application code here, like:
# run(settings, args)
return 0 # success
if __name__ == '__main__':
status = main()
sys.exit(status)

