2010-08-26 3 views
3

Je me demande comment on obtiendrait des variables entrées dans un script python en s'ouvrant à partir de l'invite cmd? Je sais en utilisant c on pourrait faire quelque chose comme:comment entrer une variable dans un script python lors de l'ouverture de l'invite cmd?

int main(int argc, char **argv) { 
    int input1 = argv[ 0 ] 
    int input2 = argv[ 1 ] 

..... 

} 

comment puis-je obtenir le même genre de résultat en python?

+0

Vous devriez probablement vérifier que le nombre d'arguments sont au moins 2 avant d'essayer de lire à input2. – HelloGoodbye

Répondre

7
import sys 

def main(): 
    input1 = sys.argv[1] 
    input2 = sys.argv[2] 
... 

if __name__ == "__main__": 
    main() 
2

Les arguments sont sys.argv, le premier sys.argv[0] est le nom du script.

Pour une analyse plus complexe des arguments, vous devez utiliser argparse (pour python> = 2.7). Les modules précédents à cet effet étaient getopts et optparse.

0

il est également utile de déterminer l'option des variables spécifiques

''' \ 
USAGE: python script.py -i1 input1 -i2 input2 
    -i1 input1 : input1 variable 
    -i2 input2 : input2 variable 
''' 

import sys 
... 

in_arr = sys.argv 
if '-i1' not in in_arr or '-i2' not in in_arr: 
    print (__doc__) 
    raise NameError('error: input options are not provided') 
else: 
    inpu1 = in_arr[in_arr.index('-i1') + 1] 
    inpu2 = in_arr[in_arr.index('-i2') + 1] 
... 

# python script.py -i1 Input1 -i2 Input2 
Questions connexes