使用Python通过蓝牙在2部手机之间发送文件

时间:2011-04-21 10:52:26

标签: python bluetooth mobile-phones

我正在尝试使用Python语言在两部手机之间发送文件

对于将发送我使用此代码的手机:

import socket,e32socket,appuifw
socket=e32socket.socket(e32socket.AF_BT,e32socket.SOCK_STREAM,e32socket.BTPROTO_RFCOMM,e32socket.OBEX)
device =e32socket.bt_obex_discover()
print device
address=device[0]
print address
channel=device[1][u'OBEX Object Push']
print channel
e32socket.bt_obex_send_file(address,channel,u"E:23.txt")

将收到我将使用此代码的手机

import socket,e32socket,appuifw
socket=e32socket.socket(e32socket.AF_BT,e32socket.SOCK_STREAM,e32socket.BTPROTO_RFCOMM,e32socket.OBEX)
e32socket.bt_obex_receive(socket, u"E:23.txt")

我在.py中保存了第一个代码然后使用python解释器,首先出现了蓝牙发现菜单然后我选择了一个具有第一个代码中的mac地址的移动设备,最后一个错误在该代码行“”socket.error:(2,'没有这样的文件或目录')“”这是我发现的错误

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

例如,“E:23.txt”不是文件的有效路径。永远记住你的斜线,它们非常重要!因此,您可以从:

更改它
e32socket.bt_obex_send_file(address,channel,u"E:23.txt")

e32socket.bt_obex_send_file(address,channel,u"E:\\23.txt")

另外,我对bt_obex_receive不太熟悉,但你也想修复那条路径。

此外,您正在导入appuifw模块而不使用它。除非您计划添加使用它的代码,否则导入它的效率非常低。