0

我有以下代码片段,当我连接到工作时,我可以运行这个脚本,它会加载我需要的一切。如果我错过了一些明显的事情,我深表歉意,我昨晚在工作时正在断电:-)

它将在第一个参数上工作并连接到该站点,但是如果我再次运行它,它不会断开连接它告诉我我已经连接。

提前致谢

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

第二次运行时,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

if ('c' or 'C') in sys.argv[1] 应该没问题。我猜是优先问题。您必须将 Popen 命令参数拆分为单独的数组成员,顺便说一句。

于 2012-05-12T09:59:37.740 回答