Y at-il un moyen de faire fonctionner ce qui suit? Ce que je cherche, c'est d'avoir une valeur d'une option, basée sur la valeur d'une autre.Python optparse, avoir une option dépend d'une autre
import optparse
parser = optparse.OptionParser()
parser.add_option("--file-name", default="/foo/bar", dest="file_name")
parser.add_option("--file-action",
default="cp %s /bar/baz" % (options.file_name),
dest="fileaction")
options, args = parser.parse_args()
De toute évidence, comme il est à l'heure actuelle, il ne fonctionnera pas, car
variable locale « options » référencées avant l'affectation
Le module 'optparse' est obsolète depuis Python 2.7. Vous pouvez envisager d'utiliser 'argparse' à la place (http://docs.python.org/dev/library/argparse.html) qui est également disponible pour Python 2.x:' pip install argparse' –
merci pour le commentaire, cependant, changer le code courant ne figure pas dans la liste ;-) –
Je ne pense pas que vous y ayez réfléchi, premièrement, l'action de fichier ne doit pas inclure le nom de fichier, sinon il n'y a aucune raison d'inclure un nom de fichier en tant que paramètre en premier lieu. aussi, si vous avez l'intention d'avoir un script qui reçoit un nom de fichier une action sur le fichier et ensuite exécute l'action sur le fichier, pourquoi ne pas simplement avoir 3 paramètres "nom de fichier" "file-command" "arguments-de-fichier "et ensuite simplement les assembler comme vous voulez? –