似乎无法获得第二个选项

时间:2012-05-12 09:46:49

标签: python

我有以下代码片段,当我连接到工作时,我可以运行这个脚本,它将加载我需要的一切。抱歉,如果我错过了一些显而易见的事情,那就是他们在工作中断电的最后一夜工作: - )

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

提前致谢

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

2 个答案:

答案 0 :(得分:3)

当你第二次运行时,sys.argv [1] ='disconnect',所以里面有字母'c'。你最好用:

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

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

答案 1 :(得分:1)

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