2017-03-02 3 views
0
from optparse import OptionParser 
usage = "usage: %prog [options]" 
parser = OptionParser(usage=usage) 
import sys 
print("Please choose the type of agent") 
line = sys.stdin.readline() 

je mets au hasard et quand je teste ce que la ligne ressemble, il me donne au hasardégalité de test de 2 chaîne en cas d'erreur de python

parser.add_option("-p","--player1",dest="player1", 
        default=str(line),help="Choose type of first player") 

je veux tester si la valeur en entrée sont égales mais ne retourne rien pourquoi le paramètre par défaut ne peut pas apprendre la valeur str (ligne) i essaie aussi de la ligne withour str

if str(opts.player1)=='random': 
    print ('true') 
+0

Sauf si vous avez besoin d'une compatibilité ascendante, vous devez utiliser 'argparse' à la place de' optparse'. – chepner

Répondre

1

la valeur de retour de sys.stdin.readline() conserve la nouvelle ligne, la valeur de line est 'random\n', pas 'random'. Vous devez le désagréger en premier:

parser.add_option(..., default=str(line.strip()), ...) 
+0

merci fonctionne –