0

次のコード スニペットを使用すると、接続時にこの 1 つのスクリプトを実行でき、必要なものがすべて読み込まれます。明らかなことを見逃していた場合はお詫びします。昨夜、仕事中に電源を切っていたときに作業していました:-)

最初の引数で機能し、サイトに接続しますが、再度実行しても切断されず、既に接続されていることがわかります。

前もって感謝します

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 "))
4

2 に答える 2

3

2 回目に実行すると、sys.argv[1] = 'disconnect' になるため、文字 'c' が内部に含まれています。あなたはより良い使用します:

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

また

if sys.argv[1].lower().startswith('d')
于 2012-05-12T09:52:07.910 に答える
1

sys.argv[1] の if ('c' or 'C') は問題ないはずです。優先度の問題だと思います。Popen コマンド引数を分割して配列メンバーを分離する必要があります。

于 2012-05-12T09:59:37.740 に答える