2012-05-12 2 views
0

J'ai cet extrait de code suivant qui sera quand je me connecte au travail, je peux exécuter ce script et il va charger tout ce dont j'ai besoin. Excuses si j'ai manqué quelque chose d'évident je travaillais sur leur dernière nuit tout en faisant une mise hors tension au travail :-)Impossible de faire fonctionner la 2ème option

Il va travailler sur le premier argument et se connecter au site, mais si je le lance à nouveau il a gagné 't déconnecter il me dit que je suis déjà connecté.

Merci à l'avance

import subprocess  
import sys  
import os 

if 'c' or 'C' in sys.argv[1]: 
    subprocess.Popen(["C:\\Program Files\\Checkpoint\\Endpoint Connect\\trac.exe connect -u username -p password"]) 
elif 'd' or 'D' in sys.argv[1]: 
    subprocess.Popen(("C:\\Program Files\\Checkpoint\\Endpoint Connect\\trac.exe disconnect ")) 
+0

Vérifiez le mot entier, comme 'si sys.argv [1] .lower() ==" connect "' – vivek

Répondre

3

lorsque vous exécutez la deuxième fois, sys.argv [1] = 'déconnexion', donc il y a lettre 'c' à l'intérieur. vous feriez mieux d'utiliser:

if sys.argv[1].lower().startswith('c') 

ou

if sys.argv[1].lower().startswith('d') 
+0

Parfaitement merci beaucoup, qui l'a trié, maintenant pour le construire pour ajouter mes autres parties. – geekcomputers

1

si ('c' ou 'C') dans sys.argv [1] devrait être ok. Question prioritaire, je suppose. Vous devez diviser les arguments de commande Popen pour séparer les membres du groupe, btw.

Questions connexes