2012-05-12 16 views
0

私はこのコードを次のようにしています。このコードは、接続すると、この1つのスクリプトを実行し、必要なものをすべてロードします。2番目のオプションが動作しないようです

これは、最初の引数で動作し、サイトに接続しますが、再度実行すると、それが勝っています。これは、私が何かを見逃してしまった場合、私は最後の夜に仕事をしていました。私はすでに私が接続されていることを私に知らせます。

事前に感謝

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

'sys.argv [1] .lower()==" connect "' – vivek

答えて

3

をあなたはそれをもう一度実行し、sys.argvの[1] = '切断'、その文字 'c' は内部にあります。あなたはより良い利用をしたい:

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

または

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

のような単語全体をチェックしてください。これはソート済みです。 – geekcomputers

1

( 'C' または 'C')場合sys.argvの中に[1]、[OK]でなければなりません。優先順位の問題は、私は推測する。 Popenコマンドの引数を別の配列メンバーbtwに分割する必要があります。

関連する問題