我很困惑。
我编码了这段代码
if __name__ == '__main__':
channel=None
devices = finddevices()
print 'devices %s'%devices
for d in devices:
print d[0]
ser=findservices(addr=d[0],name=None,servicetype=OBEX)
print ser
for s in ser:
print s
if 'OBEX Object Push' in s[2]:
channel=s[1]
obex.sendfile(d[0], channel, '/home/mobile.jar')
如果我在python shell中逐行编写,它可以正常工作。
如果我设置了一个断点并进行了调试,并且使用F6键逐步执行all,那么它可以正常工作。
但如果我通过python mycode.py
在eclipse或终端正常执行,ser
的值为None
。
有什么问题?
为什么findservices()
在正常执行代码期间不起作用?
修改:
这是python shell中service=findservices()
的输出(在正常运行期间的eclipse中总是[])
>>> services=findservices()
服务 [(' 6C:0E:0D:3A:1F:90',2,'串行端口1'),(' 6C:0E:0D:3A:1F: 90',1,'拨号网络'),(' 6C:0E:0D:3A:1F:90',10,' OBEX SyncML客户端&# 39;),(' 6C:0E:0D:3A:1F:90',25,' Music Streaming Service'),(' 6C:0E:0D:3A :1F:90',23,'远程控制目标服务'),(' 6C:0E:0D:3A:1F:90',23,'远程Control Service'),(' 6C:0E:0D:3A:1F:90',2,' SEMC Watch Phone'),(' 6C:0E: 0D:3A:1F:90',15,' PAN网络接入点'),(' 6C:0E:0D:3A:1F:90',15,&# 39; PAN用户'),(' 6C:0E:0D:3A:1F:90',5,'免提网关'),(' 6C :0E:0D:3A:1F:90',4,' Headset Gateway'),(' 6C:0E:0D:3A:1F:90',6,& #39; OBEX对象推送'),(' 6C:0E:0D:3A:1F:90',7,' OBEX文件传输'),(' 6C:0E:0D:3A:1F:90',8,' OBEX IrMC Sync Server'),(' 6C:0E:0D:3A:1F:90', 17,' HID鼠标和键盘'),(' 6C:0E:0D:3A:1 F:90',61689,' SEMC HLA'),(' 6C:0E:0D:3A:1F:90',11,'电话簿访问PSE&# 39)]