Python脚本问题

时间:2012-09-01 01:55:24

标签: python

所以这是一个脚本,我正在编写我的好友公司客户支持。基本上,它的作用是使用脚本中的IP电话进行呼叫,它可以工作,但有问题。这是代码:

import urllib, urllib2, sys
num = sys.argv[1]
print 'Calling'
phones = [
'http://phone1/index.htm',
'http://phone2/index.htm',
'https://phone3/index.htm',
'https://phone4/index.htm',
'https://phone5/index.htm'
]
data = urllib.urlencode({"NUMBER":num, "DIAL":"Dial", "active_line":1})
while 1: 
    for phone in phones:
        try:
            urllib2.urlopen(phone,data) # make call
            urllib2.urlopen(phone+"?dialeddel=0") # clear logs
        except: pass

第一个问题是它只使用手机拨打电话...现在它设置为不断调用,为了调试目的,我似乎只是从电话拨打电话......第二个问题是脚本不会终止。 ctrl + c不起作用...终止它的唯一方法(我知道)是结束ssh会话。现在,我是python的新手,所以这些都可能只是愚蠢的错误,所以希望有人可以提供帮助。谢谢!

3 个答案:

答案 0 :(得分:1)

尝试替换像这样的try catch块,

try:
    <code>
except Exception as exp:
    <code>

使用以下代码时。

except:
    pass

系统将捕获SystemExit,KeyboardInterrupt以及您可能不想捕获的其他内容。

感谢。

答案 1 :(得分:0)

你的try块可能正在捕捉Ctrl-C。尝试修改它,以便只捕获您期望的特定异常。有关Ctrl-C的更多信息,请参阅KeyboardInterrupt

答案 2 :(得分:0)

替换:

try:
    urllib2.urlopen(phone,data) # make call
    urllib2.urlopen(phone+"?dialeddel=0") # clear logs
except: pass

使用:

urllib2.urlopen(phone,data) # make call
urllib2.urlopen(phone+"?dialeddel=0") # clear logs

所以你可以看到追溯并找到错误