python延迟初始化对象错误

2024-05-29 09:58:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我很困惑。你知道吗

我把这个代码编码了

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

如果我在pythonshell中逐行编写,它就可以正常工作。你知道吗

如果我设置了一个断点并调试,然后用F6键一步一步地执行所有操作,它就可以正常工作了。你知道吗

但是如果我在eclipse或终端中通过python mycode.py正常执行它,ser的值是None。你知道吗

怎么了?你知道吗

为什么findservices()在代码正常执行期间不起作用?你知道吗

编辑:

这是pythonshell中service=findservices()的输出(在eclipse中,在正常运行期间,它总是[])

>>> services=findservices()

services [('6C:0E:0D:3A:1F:90', 2, 'Serial Port 1'), ('6C:0E:0D:3A:1F:90', 1, 'Dial-up Networking'), ('6C:0E:0D:3A:1F:90', 10, 'OBEX SyncML Client'), ('6C:0E:0D:3A:1F:90', 25, 'Music Streaming Service'), ('6C:0E:0D:3A:1F:90', 23, 'Remote Control Target Service'), ('6C:0E:0D:3A:1F:90', 23, 'Remote Control Service'), ('6C:0E:0D:3A:1F:90', 2, 'SEMC Watch Phone'), ('6C:0E:0D:3A:1F:90', 15, 'PAN Network Access Point'), ('6C:0E:0D:3A:1F:90', 15, 'PAN user'), ('6C:0E:0D:3A:1F:90', 5, 'Hands-Free Gateway'), ('6C:0E:0D:3A:1F:90', 4, 'Headset Gateway'), ('6C:0E:0D:3A:1F:90', 6, 'OBEX Object Push'), ('6C:0E:0D:3A:1F:90', 7, 'OBEX File Transfer'), ('6C:0E:0D:3A:1F:90', 8, 'OBEX IrMC Sync Server'), ('6C:0E:0D:3A:1F:90', 17, 'HID Mouse & Keyboard'), ('6C:0E:0D:3A:1F:90', 61689, 'SEMC HLA'), ('6C:0E:0D:3A:1F:90', 11, 'Phonebook Access PSE')]


Tags: 代码nameinnoneforifobjectservice

热门问题